diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 For the latest version of this document, please see
 [https://github.com/DougBurke/hvega/blob/master/hvega/CHANGELOG.md](https://github.com/DougBurke/hvega/blob/master/hvega/CHANGELOG.md).
 
+## 0.11.0.1
+
+There is no change in the code, only the tests, which should now
+pass when using hashable 0.3.1.0.
+
 ## 0.11.0.0
 
 The Vega-Lite tests are now validated against version 4.15 of the
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
 # hvega
 
 [![vega-lite version](https://img.shields.io/badge/Vega--Lite-v4.15-purple.svg)](https://vega.github.io/vega-lite/)
+[![GitHub CI](https://github.com/DougBurke/hvega/workflows/hvega-CI/badge.svg)](https://github.com/DougBurke/hvega/actions)
 
 Create [Vega-Lite](https://vega.github.io/vega-lite/) visualizations in
 Haskell. It targets version 4.15 of the Vega-Lite specification. Note that
diff --git a/default.nix b/default.nix
--- a/default.nix
+++ b/default.nix
@@ -1,2 +1,48 @@
-{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc884" }:
-nixpkgs.pkgs.haskell.packages.${compiler}.callPackage ./hvega.nix { }
+# Looks like release-20.03 doesn't have haskell-language-server so stick
+# with nixpkgs-unstable
+{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc8104" }:
+
+let
+  # sources = import ../nix/sources.nix;
+  # pkgs = import sources.nixpkgs {};
+
+  inherit (nixpkgs) pkgs;
+
+  # since we are in a sub-directory
+  # gitignore = pkgs.nix-gitignore.gitignoreSourcePure [ ./.gitignore ];
+  gitignore = pkgs.nix-gitignore.gitignoreSourcePure [ ../.gitignore ];
+
+  myHaskellPackages = pkgs.haskell.packages.${compiler}.override {
+    overrides = hself: hsuper: {
+      "hvega" =
+        hself.callCabal2nix "hvega" (gitignore ./.) {};
+    };
+  };
+
+  shell = myHaskellPackages.shellFor {
+    packages = p: [
+      p."hvega"
+    ];
+    buildInputs = [
+      pkgs.haskellPackages.cabal-install
+      pkgs.haskellPackages.haskell-language-server
+      pkgs.haskellPackages.hlint
+      pkgs.niv
+    ];
+    withHoogle = true;
+  };
+
+  # exe = pkgs.haskell.lib.justStaticExecutables (myHaskellPackages."{{cookiecutter.project_name}}");
+
+  # docker = pkgs.dockerTools.buildImage {
+  #   name = "{{cookiecutter.project_name}}";
+  #   config.Cmd = [ "${exe}/bin/{{cookiecutter.project_name}}" ];
+  # };
+in
+{
+  inherit shell;
+  # inherit exe;
+  # inherit docker;
+  inherit myHaskellPackages;
+  "hvega" = myHaskellPackages."hvega";
+}
diff --git a/hvega.cabal b/hvega.cabal
--- a/hvega.cabal
+++ b/hvega.cabal
@@ -1,5 +1,5 @@
 name:                hvega
-version:             0.11.0.0
+version:             0.11.0.1
 synopsis:            Create Vega-Lite visualizations (version 4) in Haskell.
 description:         This is based on the elm-vegalite package
                      (<http://package.elm-lang.org/packages/gicentre/elm-vegalite/latest>)
@@ -10,7 +10,7 @@
 license-file:        LICENSE
 author:              Douglas Burke
 maintainer:          dburke.gw@gmail.com
-copyright:           2018-2020 Douglas Burke
+copyright:           2018-2021 Douglas Burke
 category:            Graphics
 build-type:          Simple
 extra-source-files:  README.md
@@ -18,7 +18,6 @@
                      stack.yaml
                      default.nix
                      shell.nix
-                     hvega.nix
                      tests/specs/axis/*.vl
                      tests/specs/color/*.vl
                      tests/specs/composite/*.vl
diff --git a/hvega.nix b/hvega.nix
deleted file mode 100644
--- a/hvega.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
-, directory, filepath, http-conduit, stdenv, tagsoup, tasty
-, tasty-golden, text, unordered-containers
-}:
-mkDerivation {
-  pname = "hvega";
-  version = "0.11.0.0";
-  src = ./.;
-  configureFlags = [ "-ftools" ];
-  isLibrary = true;
-  isExecutable = true;
-  libraryHaskellDepends = [ aeson base text unordered-containers ];
-  executableHaskellDepends = [
-    aeson aeson-pretty base bytestring directory filepath http-conduit
-    tagsoup text
-  ];
-  testHaskellDepends = [
-    aeson aeson-pretty base bytestring containers filepath tasty
-    tasty-golden text unordered-containers
-  ];
-  homepage = "https://github.com/DougBurke/hvega";
-  description = "Create Vega-Lite visualizations (version 4) in Haskell";
-  license = stdenv.lib.licenses.bsd3;
-}
diff --git a/shell.nix b/shell.nix
--- a/shell.nix
+++ b/shell.nix
@@ -1,2 +1,2 @@
-{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc884" }:
-(import ./default.nix { inherit nixpkgs compiler; }).env
+{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc8104" }:
+(import ./default.nix { inherit nixpkgs compiler; }).shell
diff --git a/src/Graphics/Vega/Tutorials/VegaLite.hs b/src/Graphics/Vega/Tutorials/VegaLite.hs
--- a/src/Graphics/Vega/Tutorials/VegaLite.hs
+++ b/src/Graphics/Vega/Tutorials/VegaLite.hs
@@ -495,7 +495,7 @@
 this case we use the function 'position' to provide an encoding of the
 @\"plx\"@ field as the x-position in our plot. The precise way in which
 the data value (parallax) is mapped to the x-position will depend on the type of
-data we are encoding. We can provide a hint by delcaring the
+data we are encoding. We can provide a hint by declaring the
 measurement type of the data field, here 'Quantitative' indicating a
 numeric measurement type. The final parameter of position is a list of
 any additional encodings in our specification. Here, with only one
@@ -642,7 +642,7 @@
 'dataFromRows' - or directly from JSON (as a 'Data.Aeson.Value') using
 'dataFromJson'.
 
-Examples showing 'dataFromColumns' are the 'pieChart' and'skyPlotWithGraticules' plots,
+Examples showing 'dataFromColumns' are the 'pieChart' and 'skyPlotWithGraticules' plots,
 but let's not peak ahead!
 
 -}
@@ -790,7 +790,7 @@
 
 -- $pie-chart
 -- Before adding a second axis, let's temporarily look at another
--- \"one dimensiona" chart, namel the humble pie chart.
+-- \"one dimensiona" chart, namely the humble pie chart.
 -- The 'Arc' mark type allows you to create pie charts, as well as more
 -- complex visualizations which we won't discuss further in this
 -- tutorial.
diff --git a/src/Graphics/Vega/VegaLite.hs b/src/Graphics/Vega/VegaLite.hs
--- a/src/Graphics/Vega/VegaLite.hs
+++ b/src/Graphics/Vega/VegaLite.hs
@@ -1,6 +1,6 @@
 {-|
 Module      : Graphics.Vega.VegaLite
-Copyright   : (c) Douglas Burke, 2018-2020
+Copyright   : (c) Douglas Burke, 2018-2021
 License     : BSD3
 
 Maintainer  : dburke.gw@gmail.com
@@ -859,6 +859,7 @@
 
          -- ** Version 0.11
          --
+         -- $update01101
          -- $update01100
 
          -- ** Version 0.10
@@ -1266,6 +1267,11 @@
 -- $update
 -- The following section describes how to update code that used
 -- an older version of @hvega@.
+
+-- $update01101
+-- The @0.11.0.1@ release is purely to support testing with @hashable@ 0.3.1.0.
+-- There are no changes to the module.
+--
 
 -- $update01100
 -- The @0.11.0.0@ release updates @hvega@ to support version 4.15 of
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -5,4 +5,4 @@
 
 extra-deps: []
 
-resolver: lts-15.5
+resolver: lts-17.2
diff --git a/tests/Test.hs b/tests/Test.hs
--- a/tests/Test.hs
+++ b/tests/Test.hs
@@ -25,7 +25,8 @@
 
 import qualified Data.ByteString.Lazy.Char8 as BL8
 
-import Data.Aeson.Encode.Pretty (encodePretty)
+import Data.Aeson (Value)
+import Data.Aeson.Encode.Pretty (Config(confCompare), encodePretty', defConfig)
 
 import System.FilePath ((</>), (<.>))
 
@@ -84,6 +85,20 @@
 import qualified Gallery.Repeat as GR
 import qualified Gallery.Scatter as GS
 import qualified Gallery.Table as GTBL
+
+
+-- Ensure we have a repeatable ordering for the output.
+-- Hopefully this is repeatable enough (brought on by
+-- changes in hashable 0.3.1.0 but it makes sense to
+-- do this here as I hadn't realised that the default
+-- encodePretty didn't actually apply any sorting to
+-- the keys).
+--
+encodePretty :: Value -> BL8.ByteString
+encodePretty = encodePretty' config
+  where
+    config = defConfig { confCompare = compare }
+
 
 -- The "golden" output is "tests/specs/<label>/<name>.vl"
 -- where label can now itself contain sub-directories, so should
diff --git a/tests/specs/axis/axis1.vl b/tests/specs/axis/axis1.vl
--- a/tests/specs/axis/axis1.vl
+++ b/tests/specs/axis/axis1.vl
@@ -1,513 +1,509 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -517,5 +513,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis1c.vl b/tests/specs/axis/axis1c.vl
--- a/tests/specs/axis/axis1c.vl
+++ b/tests/specs/axis/axis1c.vl
@@ -1,541 +1,537 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -545,5 +541,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis2.vl b/tests/specs/axis/axis2.vl
--- a/tests/specs/axis/axis2.vl
+++ b/tests/specs/axis/axis2.vl
@@ -1,513 +1,509 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "catX",
@@ -517,5 +513,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis2c.vl b/tests/specs/axis/axis2c.vl
--- a/tests/specs/axis/axis2c.vl
+++ b/tests/specs/axis/axis2c.vl
@@ -1,541 +1,537 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "catX",
@@ -545,5 +541,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis3.vl b/tests/specs/axis/axis3.vl
--- a/tests/specs/axis/axis3.vl
+++ b/tests/specs/axis/axis3.vl
@@ -1,513 +1,509 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -517,5 +513,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis3c.vl b/tests/specs/axis/axis3c.vl
--- a/tests/specs/axis/axis3c.vl
+++ b/tests/specs/axis/axis3c.vl
@@ -1,541 +1,537 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -545,5 +541,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis4.vl b/tests/specs/axis/axis4.vl
--- a/tests/specs/axis/axis4.vl
+++ b/tests/specs/axis/axis4.vl
@@ -1,517 +1,511 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "values": [
                     1,
@@ -519,11 +513,17 @@
                     39,
                     90
                 ]
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis4c.vl b/tests/specs/axis/axis4c.vl
--- a/tests/specs/axis/axis4c.vl
+++ b/tests/specs/axis/axis4c.vl
@@ -1,545 +1,539 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "values": [
                     1,
@@ -547,11 +541,17 @@
                     39,
                     90
                 ]
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis5.vl b/tests/specs/axis/axis5.vl
--- a/tests/specs/axis/axis5.vl
+++ b/tests/specs/axis/axis5.vl
@@ -1,517 +1,511 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "catX",
-            "type": "ordinal",
             "axis": {
                 "values": [
                     "1",
@@ -520,11 +514,17 @@
                     "dummy",
                     "90"
                 ]
-            }
+            },
+            "field": "catX",
+            "type": "ordinal"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis5c.vl b/tests/specs/axis/axis5c.vl
--- a/tests/specs/axis/axis5c.vl
+++ b/tests/specs/axis/axis5c.vl
@@ -1,545 +1,539 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "catX",
-            "type": "ordinal",
             "axis": {
                 "values": [
                     "1",
@@ -548,11 +542,17 @@
                     "dummy",
                     "90"
                 ]
-            }
+            },
+            "field": "catX",
+            "type": "ordinal"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis6.vl b/tests/specs/axis/axis6.vl
--- a/tests/specs/axis/axis6.vl
+++ b/tests/specs/axis/axis6.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -55,34 +52,37 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "values": [
                     {
                         "date": 4,
-                        "year": 2019,
-                        "month": "Jan"
+                        "month": "Jan",
+                        "year": 2019
                     },
                     {
                         "date": 8,
-                        "year": 2019,
-                        "month": "Jan"
+                        "month": "Jan",
+                        "year": 2019
                     },
                     {
                         "date": 20,
-                        "year": 2019,
-                        "month": "Jan"
+                        "month": "Jan",
+                        "year": 2019
                     }
                 ]
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis6c.vl b/tests/specs/axis/axis6c.vl
--- a/tests/specs/axis/axis6c.vl
+++ b/tests/specs/axis/axis6c.vl
@@ -1,36 +1,33 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
@@ -83,34 +80,37 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "values": [
                     {
                         "date": 4,
-                        "year": 2019,
-                        "month": "Jan"
+                        "month": "Jan",
+                        "year": 2019
                     },
                     {
                         "date": 8,
-                        "year": 2019,
-                        "month": "Jan"
+                        "month": "Jan",
+                        "year": 2019
                     },
                     {
                         "date": 20,
-                        "year": 2019,
-                        "month": "Jan"
+                        "month": "Jan",
+                        "year": 2019
                     }
                 ]
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis7.vl b/tests/specs/axis/axis7.vl
--- a/tests/specs/axis/axis7.vl
+++ b/tests/specs/axis/axis7.vl
@@ -1,524 +1,524 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "labelExpr": "datum.value / 100"
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis7c.vl b/tests/specs/axis/axis7c.vl
--- a/tests/specs/axis/axis7c.vl
+++ b/tests/specs/axis/axis7c.vl
@@ -1,552 +1,552 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "labelExpr": "datum.value / 100"
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis8.vl b/tests/specs/axis/axis8.vl
--- a/tests/specs/axis/axis8.vl
+++ b/tests/specs/axis/axis8.vl
@@ -1,524 +1,524 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "catX",
-            "type": "ordinal",
             "axis": {
                 "labelExpr": "'number' + datum.label"
-            }
+            },
+            "field": "catX",
+            "type": "ordinal"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axis8c.vl b/tests/specs/axis/axis8c.vl
--- a/tests/specs/axis/axis8c.vl
+++ b/tests/specs/axis/axis8c.vl
@@ -1,552 +1,552 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisQuantitative": {
+            "domainColor": "orange",
+            "gridColor": "seagreen",
+            "labelFont": "Comic Sans MS",
+            "labelOffset": 10,
+            "tickOffset": 10
+        },
         "axisTemporal": {
             "domainColor": "brown",
-            "labelColor": "purple",
-            "grid": false,
             "domainDash": [
                 4,
                 2
-            ]
-        },
-        "axisQuantitative": {
-            "domainColor": "orange",
-            "tickOffset": 10,
-            "labelOffset": 10,
-            "gridColor": "seagreen",
-            "labelFont": "Comic Sans MS"
+            ],
+            "grid": false,
+            "labelColor": "purple"
         },
         "line": {
-            "strokeWidth": 2,
-            "stroke": "gray"
+            "stroke": "gray",
+            "strokeWidth": 2
         },
         "point": {
-            "strokeWidth": 1,
-            "stroke": "black",
             "fill": "yellow",
-            "strokeOpacity": 0.4
+            "stroke": "black",
+            "strokeOpacity": 0.4,
+            "strokeWidth": 1
         }
     },
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "catX",
-            "type": "ordinal",
             "axis": {
                 "labelExpr": "'number' + datum.label"
-            }
+            },
+            "field": "catX",
+            "type": "ordinal"
         },
         "y": {
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/axisOverlapGreedy.vl b/tests/specs/axis/axisOverlapGreedy.vl
--- a/tests/specs/axis/axisOverlapGreedy.vl
+++ b/tests/specs/axis/axisOverlapGreedy.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -24,23 +24,23 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
-                "labelOverlap": "greedy",
-                "labelFontSize": 20
-            }
+                "labelFontSize": 20,
+                "labelOverlap": "greedy"
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
-                "labelOverlap": "greedy",
-                "labelFontSize": 20
-            }
+                "labelFontSize": 20,
+                "labelOverlap": "greedy"
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/axis/axisOverlapNone.vl b/tests/specs/axis/axisOverlapNone.vl
--- a/tests/specs/axis/axisOverlapNone.vl
+++ b/tests/specs/axis/axisOverlapNone.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -24,23 +24,23 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
-                "labelOverlap": false,
-                "labelFontSize": 20
-            }
+                "labelFontSize": 20,
+                "labelOverlap": false
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
-                "labelOverlap": false,
-                "labelFontSize": 20
-            }
+                "labelFontSize": 20,
+                "labelOverlap": false
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/axis/axisOverlapParity.vl b/tests/specs/axis/axisOverlapParity.vl
--- a/tests/specs/axis/axisOverlapParity.vl
+++ b/tests/specs/axis/axisOverlapParity.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -24,23 +24,23 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
-                "labelOverlap": true,
-                "labelFontSize": 20
-            }
+                "labelFontSize": 20,
+                "labelOverlap": true
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
-                "labelOverlap": true,
-                "labelFontSize": 20
-            }
+                "labelFontSize": 20,
+                "labelOverlap": true
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/axis/axisstyleempty.vl b/tests/specs/axis/axisstyleempty.vl
--- a/tests/specs/axis/axisstyleempty.vl
+++ b/tests/specs/axis/axisstyleempty.vl
@@ -1,17 +1,16 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {}
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
             "field": "Horsepower",
@@ -21,5 +20,6 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/axisstyleemptyx.vl b/tests/specs/axis/axisstyleemptyx.vl
--- a/tests/specs/axis/axisstyleemptyx.vl
+++ b/tests/specs/axis/axisstyleemptyx.vl
@@ -1,30 +1,30 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
             "x-style": {}
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
-            "field": "Horsepower",
-            "type": "quantitative",
             "axis": {
                 "style": "x-style"
-            }
+            },
+            "field": "Horsepower",
+            "type": "quantitative"
         },
         "y": {
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/axisstylex.vl b/tests/specs/axis/axisstylex.vl
--- a/tests/specs/axis/axisstylex.vl
+++ b/tests/specs/axis/axisstylex.vl
@@ -1,34 +1,34 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
             "x-style": {
                 "domainColor": "orange",
-                "labelExpr": "if (datum.value <= 100, 'low:' + datum.label, 'high:' + datum.label)",
-                "gridColor": "lightgreen"
+                "gridColor": "lightgreen",
+                "labelExpr": "if (datum.value <= 100, 'low:' + datum.label, 'high:' + datum.label)"
             }
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
-            "field": "Horsepower",
-            "type": "quantitative",
             "axis": {
                 "style": "x-style"
-            }
+            },
+            "field": "Horsepower",
+            "type": "quantitative"
         },
         "y": {
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/axisstylexastyle.vl b/tests/specs/axis/axisstylexastyle.vl
--- a/tests/specs/axis/axisstylexastyle.vl
+++ b/tests/specs/axis/axisstylexastyle.vl
@@ -1,26 +1,25 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisX": {
+            "style": "x-style"
+        },
         "style": {
             "x-style": {
                 "domainColor": "orange",
-                "labelExpr": "if (datum.value <= 100, 'low:' + datum.label, 'high:' + datum.label)",
-                "gridColor": "lightgreen"
+                "gridColor": "lightgreen",
+                "labelExpr": "if (datum.value <= 100, 'low:' + datum.label, 'high:' + datum.label)"
             }
-        },
-        "axisX": {
-            "style": "x-style"
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
             "field": "Horsepower",
@@ -30,5 +29,6 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/axisstylexy.vl b/tests/specs/axis/axisstylexy.vl
--- a/tests/specs/axis/axisstylexy.vl
+++ b/tests/specs/axis/axisstylexy.vl
@@ -1,44 +1,44 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
             "x-style": {
                 "domainColor": "orange",
-                "labelExpr": "if (datum.value <= 100, 'low:' + datum.label, 'high:' + datum.label)",
-                "gridColor": "lightgreen"
+                "gridColor": "lightgreen",
+                "labelExpr": "if (datum.value <= 100, 'low:' + datum.label, 'high:' + datum.label)"
             },
             "y-style": {
                 "domain": false,
-                "labels": false,
                 "grid": false,
-                "title": null,
-                "ticks": false
+                "labels": false,
+                "ticks": false,
+                "title": null
             }
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
-            "field": "Horsepower",
-            "type": "quantitative",
             "axis": {
                 "style": "x-style"
-            }
+            },
+            "field": "Horsepower",
+            "type": "quantitative"
         },
         "y": {
-            "field": "Miles_per_Gallon",
-            "type": "quantitative",
             "axis": {
                 "style": "y-style"
-            }
+            },
+            "field": "Miles_per_Gallon",
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/multiline.vl b/tests/specs/axis/multiline.vl
--- a/tests/specs/axis/multiline.vl
+++ b/tests/specs/axis/multiline.vl
@@ -1,37 +1,37 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "axis": {
             "labelLineHeight": 20
         },
         "lineBreak": " "
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
-            "field": "Horsepower",
-            "type": "quantitative",
             "axis": {
                 "labelExpr": "datum.label + ' horses'",
-                "labelLineHeight": 22,
-                "labelFontSize": 11
-            }
+                "labelFontSize": 11,
+                "labelLineHeight": 22
+            },
+            "field": "Horsepower",
+            "type": "quantitative"
         },
         "y": {
-            "field": "Miles_per_Gallon",
-            "type": "quantitative",
             "axis": {
                 "labelExpr": "datum.label+' mpg'",
                 "labelFontSize": 22
-            }
+            },
+            "field": "Miles_per_Gallon",
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/responsiveHeight.vl b/tests/specs/axis/responsiveHeight.vl
--- a/tests/specs/axis/responsiveHeight.vl
+++ b/tests/specs/axis/responsiveHeight.vl
@@ -1,514 +1,509 @@
 {
-    "height": "container",
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -518,5 +513,10 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "height": "container",
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/axis/responsiveWidth.vl b/tests/specs/axis/responsiveWidth.vl
--- a/tests/specs/axis/responsiveWidth.vl
+++ b/tests/specs/axis/responsiveWidth.vl
@@ -1,514 +1,509 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 1,
                 "catX": "1",
+                "x": 1,
                 "y": 1
             },
             {
-                "x": 2,
                 "catX": "2",
+                "x": 2,
                 "y": 2
             },
             {
-                "x": 3,
                 "catX": "3",
+                "x": 3,
                 "y": 3
             },
             {
-                "x": 4,
                 "catX": "4",
+                "x": 4,
                 "y": 4
             },
             {
-                "x": 5,
                 "catX": "5",
+                "x": 5,
                 "y": 5
             },
             {
-                "x": 6,
                 "catX": "6",
+                "x": 6,
                 "y": 6
             },
             {
-                "x": 7,
                 "catX": "7",
+                "x": 7,
                 "y": 7
             },
             {
-                "x": 8,
                 "catX": "8",
+                "x": 8,
                 "y": 8
             },
             {
-                "x": 9,
                 "catX": "9",
+                "x": 9,
                 "y": 9
             },
             {
-                "x": 10,
                 "catX": "10",
+                "x": 10,
                 "y": 10
             },
             {
-                "x": 11,
                 "catX": "11",
+                "x": 11,
                 "y": 11
             },
             {
-                "x": 12,
                 "catX": "12",
+                "x": 12,
                 "y": 12
             },
             {
-                "x": 13,
                 "catX": "13",
+                "x": 13,
                 "y": 13
             },
             {
-                "x": 14,
                 "catX": "14",
+                "x": 14,
                 "y": 14
             },
             {
-                "x": 15,
                 "catX": "15",
+                "x": 15,
                 "y": 15
             },
             {
-                "x": 16,
                 "catX": "16",
+                "x": 16,
                 "y": 16
             },
             {
-                "x": 17,
                 "catX": "17",
+                "x": 17,
                 "y": 17
             },
             {
-                "x": 18,
                 "catX": "18",
+                "x": 18,
                 "y": 18
             },
             {
-                "x": 19,
                 "catX": "19",
+                "x": 19,
                 "y": 19
             },
             {
-                "x": 20,
                 "catX": "20",
+                "x": 20,
                 "y": 20
             },
             {
-                "x": 21,
                 "catX": "21",
+                "x": 21,
                 "y": 21
             },
             {
-                "x": 22,
                 "catX": "22",
+                "x": 22,
                 "y": 22
             },
             {
-                "x": 23,
                 "catX": "23",
+                "x": 23,
                 "y": 23
             },
             {
-                "x": 24,
                 "catX": "24",
+                "x": 24,
                 "y": 24
             },
             {
-                "x": 25,
                 "catX": "25",
+                "x": 25,
                 "y": 25
             },
             {
-                "x": 26,
                 "catX": "26",
+                "x": 26,
                 "y": 26
             },
             {
-                "x": 27,
                 "catX": "27",
+                "x": 27,
                 "y": 27
             },
             {
-                "x": 28,
                 "catX": "28",
+                "x": 28,
                 "y": 28
             },
             {
-                "x": 29,
                 "catX": "29",
+                "x": 29,
                 "y": 29
             },
             {
-                "x": 30,
                 "catX": "30",
+                "x": 30,
                 "y": 30
             },
             {
-                "x": 31,
                 "catX": "31",
+                "x": 31,
                 "y": 31
             },
             {
-                "x": 32,
                 "catX": "32",
+                "x": 32,
                 "y": 32
             },
             {
-                "x": 33,
                 "catX": "33",
+                "x": 33,
                 "y": 33
             },
             {
-                "x": 34,
                 "catX": "34",
+                "x": 34,
                 "y": 34
             },
             {
-                "x": 35,
                 "catX": "35",
+                "x": 35,
                 "y": 35
             },
             {
-                "x": 36,
                 "catX": "36",
+                "x": 36,
                 "y": 36
             },
             {
-                "x": 37,
                 "catX": "37",
+                "x": 37,
                 "y": 37
             },
             {
-                "x": 38,
                 "catX": "38",
+                "x": 38,
                 "y": 38
             },
             {
-                "x": 39,
                 "catX": "39",
+                "x": 39,
                 "y": 39
             },
             {
-                "x": 40,
                 "catX": "40",
+                "x": 40,
                 "y": 40
             },
             {
-                "x": 41,
                 "catX": "41",
+                "x": 41,
                 "y": 41
             },
             {
-                "x": 42,
                 "catX": "42",
+                "x": 42,
                 "y": 42
             },
             {
-                "x": 43,
                 "catX": "43",
+                "x": 43,
                 "y": 43
             },
             {
-                "x": 44,
                 "catX": "44",
+                "x": 44,
                 "y": 44
             },
             {
-                "x": 45,
                 "catX": "45",
+                "x": 45,
                 "y": 45
             },
             {
-                "x": 46,
                 "catX": "46",
+                "x": 46,
                 "y": 46
             },
             {
-                "x": 47,
                 "catX": "47",
+                "x": 47,
                 "y": 47
             },
             {
-                "x": 48,
                 "catX": "48",
+                "x": 48,
                 "y": 48
             },
             {
-                "x": 49,
                 "catX": "49",
+                "x": 49,
                 "y": 49
             },
             {
-                "x": 50,
                 "catX": "50",
+                "x": 50,
                 "y": 50
             },
             {
-                "x": 51,
                 "catX": "51",
+                "x": 51,
                 "y": 51
             },
             {
-                "x": 52,
                 "catX": "52",
+                "x": 52,
                 "y": 52
             },
             {
-                "x": 53,
                 "catX": "53",
+                "x": 53,
                 "y": 53
             },
             {
-                "x": 54,
                 "catX": "54",
+                "x": 54,
                 "y": 54
             },
             {
-                "x": 55,
                 "catX": "55",
+                "x": 55,
                 "y": 55
             },
             {
-                "x": 56,
                 "catX": "56",
+                "x": 56,
                 "y": 56
             },
             {
-                "x": 57,
                 "catX": "57",
+                "x": 57,
                 "y": 57
             },
             {
-                "x": 58,
                 "catX": "58",
+                "x": 58,
                 "y": 58
             },
             {
-                "x": 59,
                 "catX": "59",
+                "x": 59,
                 "y": 59
             },
             {
-                "x": 60,
                 "catX": "60",
+                "x": 60,
                 "y": 60
             },
             {
-                "x": 61,
                 "catX": "61",
+                "x": 61,
                 "y": 61
             },
             {
-                "x": 62,
                 "catX": "62",
+                "x": 62,
                 "y": 62
             },
             {
-                "x": 63,
                 "catX": "63",
+                "x": 63,
                 "y": 63
             },
             {
-                "x": 64,
                 "catX": "64",
+                "x": 64,
                 "y": 64
             },
             {
-                "x": 65,
                 "catX": "65",
+                "x": 65,
                 "y": 65
             },
             {
-                "x": 66,
                 "catX": "66",
+                "x": 66,
                 "y": 66
             },
             {
-                "x": 67,
                 "catX": "67",
+                "x": 67,
                 "y": 67
             },
             {
-                "x": 68,
                 "catX": "68",
+                "x": 68,
                 "y": 68
             },
             {
-                "x": 69,
                 "catX": "69",
+                "x": 69,
                 "y": 69
             },
             {
-                "x": 70,
                 "catX": "70",
+                "x": 70,
                 "y": 70
             },
             {
-                "x": 71,
                 "catX": "71",
+                "x": 71,
                 "y": 71
             },
             {
-                "x": 72,
                 "catX": "72",
+                "x": 72,
                 "y": 72
             },
             {
-                "x": 73,
                 "catX": "73",
+                "x": 73,
                 "y": 73
             },
             {
-                "x": 74,
                 "catX": "74",
+                "x": 74,
                 "y": 74
             },
             {
-                "x": 75,
                 "catX": "75",
+                "x": 75,
                 "y": 75
             },
             {
-                "x": 76,
                 "catX": "76",
+                "x": 76,
                 "y": 76
             },
             {
-                "x": 77,
                 "catX": "77",
+                "x": 77,
                 "y": 77
             },
             {
-                "x": 78,
                 "catX": "78",
+                "x": 78,
                 "y": 78
             },
             {
-                "x": 79,
                 "catX": "79",
+                "x": 79,
                 "y": 79
             },
             {
-                "x": 80,
                 "catX": "80",
+                "x": 80,
                 "y": 80
             },
             {
-                "x": 81,
                 "catX": "81",
+                "x": 81,
                 "y": 81
             },
             {
-                "x": 82,
                 "catX": "82",
+                "x": 82,
                 "y": 82
             },
             {
-                "x": 83,
                 "catX": "83",
+                "x": 83,
                 "y": 83
             },
             {
-                "x": 84,
                 "catX": "84",
+                "x": 84,
                 "y": 84
             },
             {
-                "x": 85,
                 "catX": "85",
+                "x": 85,
                 "y": 85
             },
             {
-                "x": 86,
                 "catX": "86",
+                "x": 86,
                 "y": 86
             },
             {
-                "x": 87,
                 "catX": "87",
+                "x": 87,
                 "y": 87
             },
             {
-                "x": 88,
                 "catX": "88",
+                "x": 88,
                 "y": 88
             },
             {
-                "x": 89,
                 "catX": "89",
+                "x": 89,
                 "y": 89
             },
             {
-                "x": 90,
                 "catX": "90",
+                "x": 90,
                 "y": 90
             },
             {
-                "x": 91,
                 "catX": "91",
+                "x": 91,
                 "y": 91
             },
             {
-                "x": 92,
                 "catX": "92",
+                "x": 92,
                 "y": 92
             },
             {
-                "x": 93,
                 "catX": "93",
+                "x": 93,
                 "y": 93
             },
             {
-                "x": 94,
                 "catX": "94",
+                "x": 94,
                 "y": 94
             },
             {
-                "x": 95,
                 "catX": "95",
+                "x": 95,
                 "y": 95
             },
             {
-                "x": 96,
                 "catX": "96",
+                "x": 96,
                 "y": 96
             },
             {
-                "x": 97,
                 "catX": "97",
+                "x": 97,
                 "y": 97
             },
             {
-                "x": 98,
                 "catX": "98",
+                "x": 98,
                 "y": 98
             },
             {
-                "x": 99,
                 "catX": "99",
+                "x": 99,
                 "y": 99
             },
             {
-                "x": 100,
                 "catX": "100",
+                "x": 100,
                 "y": 100
             }
         ]
     },
-    "width": "container",
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -518,5 +513,10 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
+    },
+    "width": "container"
 }
diff --git a/tests/specs/axis/singleline.vl b/tests/specs/axis/singleline.vl
--- a/tests/specs/axis/singleline.vl
+++ b/tests/specs/axis/singleline.vl
@@ -1,28 +1,28 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
-            "field": "Horsepower",
-            "type": "quantitative",
             "axis": {
                 "labelExpr": "datum.label + ' horses'"
-            }
+            },
+            "field": "Horsepower",
+            "type": "quantitative"
         },
         "y": {
-            "field": "Miles_per_Gallon",
-            "type": "quantitative",
             "axis": {
                 "labelExpr": "datum.label+' mpg'"
-            }
+            },
+            "field": "Miles_per_Gallon",
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/axis/zorder.vl b/tests/specs/axis/zorder.vl
--- a/tests/specs/axis/zorder.vl
+++ b/tests/specs/axis/zorder.vl
@@ -1,20 +1,16 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "axisY": {
-            "gridColor": "blue"
+        "axis": {
+            "gridWidth": 8
         },
         "axisX": {
             "gridColor": "red"
         },
-        "axis": {
-            "gridWidth": 8
+        "axisY": {
+            "gridColor": "blue"
         }
     },
-    "mark": {
-        "size": 5000,
-        "opacity": 1,
-        "type": "circle"
-    },
     "data": {
         "values": [
             {
@@ -29,26 +25,30 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "zindex": 2
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
                 "zindex": 1
-            }
+            },
+            "field": "y",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "opacity": 1,
+        "size": 5000,
+        "type": "circle"
     }
 }
diff --git a/tests/specs/color/customContinuous.vl b/tests/specs/color/customContinuous.vl
--- a/tests/specs/color/customContinuous.vl
+++ b/tests/specs/color/customContinuous.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom continuous colour scheme (red to blue ramp).",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -21,12 +15,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -36,5 +30,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom continuous colour scheme (red to blue ramp)."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/customDiscrete.vl b/tests/specs/color/customDiscrete.vl
--- a/tests/specs/color/customDiscrete.vl
+++ b/tests/specs/color/customDiscrete.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom discrete colours (red, green, blue).",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -22,12 +16,12 @@
             },
             "type": "nominal"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +31,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom discrete colours (red, green, blue)."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/defContinuous.vl b/tests/specs/color/defContinuous.vl
--- a/tests/specs/color/defContinuous.vl
+++ b/tests/specs/color/defContinuous.vl
@@ -1,26 +1,20 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Default continuous colour scales.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -30,5 +24,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Default continuous colour scales."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/defNominal.vl b/tests/specs/color/defNominal.vl
--- a/tests/specs/color/defNominal.vl
+++ b/tests/specs/color/defNominal.vl
@@ -1,26 +1,20 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Default nominal colour scales.",
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -30,5 +24,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Default nominal colour scales."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/defOrdinal.vl b/tests/specs/color/defOrdinal.vl
--- a/tests/specs/color/defOrdinal.vl
+++ b/tests/specs/color/defOrdinal.vl
@@ -1,26 +1,20 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Default ordinal colour scales.",
     "encoding": {
         "color": {
             "field": "Cylinders",
             "type": "ordinal"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -30,5 +24,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Default ordinal colour scales."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/gamma1.vl b/tests/specs/color/gamma1.vl
--- a/tests/specs/color/gamma1.vl
+++ b/tests/specs/color/gamma1.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix-long interpolation, gamma of -0.1",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": -0.1,
                     "type": "cubehelix-long"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix-long interpolation, gamma of -0.1"
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/gamma2.vl b/tests/specs/color/gamma2.vl
--- a/tests/specs/color/gamma2.vl
+++ b/tests/specs/color/gamma2.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix-long interpolation, gamma of 0",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": 0,
                     "type": "cubehelix-long"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix-long interpolation, gamma of 0"
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/gamma3.vl b/tests/specs/color/gamma3.vl
--- a/tests/specs/color/gamma3.vl
+++ b/tests/specs/color/gamma3.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix-long interpolation with default gamma value of 1",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": 1,
                     "type": "cubehelix-long"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix-long interpolation with default gamma value of 1"
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/gamma4.vl b/tests/specs/color/gamma4.vl
--- a/tests/specs/color/gamma4.vl
+++ b/tests/specs/color/gamma4.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix-long interpolation, gamma of 2",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": 2,
                     "type": "cubehelix-long"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix-long interpolation, gamma of 2"
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/gamma5.vl b/tests/specs/color/gamma5.vl
--- a/tests/specs/color/gamma5.vl
+++ b/tests/specs/color/gamma5.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix-long interpolation, gamma of 10",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": 10,
                     "type": "cubehelix-long"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix-long interpolation, gamma of 10"
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp1.vl b/tests/specs/color/interp1.vl
--- a/tests/specs/color/interp1.vl
+++ b/tests/specs/color/interp1.vl
@@ -1,36 +1,30 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "HSL interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
+                "interpolate": {
+                    "type": "hsl"
+                },
                 "range": [
                     "yellow",
                     "red"
                 ],
-                "interpolate": {
-                    "type": "hsl"
-                },
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -40,5 +34,11 @@
             "type": "quantitative"
         }
     },
-    "description": "HSL interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp2.vl b/tests/specs/color/interp2.vl
--- a/tests/specs/color/interp2.vl
+++ b/tests/specs/color/interp2.vl
@@ -1,36 +1,30 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "HSL-long interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
+                "interpolate": {
+                    "type": "hsl-long"
+                },
                 "range": [
                     "yellow",
                     "red"
                 ],
-                "interpolate": {
-                    "type": "hsl-long"
-                },
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -40,5 +34,11 @@
             "type": "quantitative"
         }
     },
-    "description": "HSL-long interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp3.vl b/tests/specs/color/interp3.vl
--- a/tests/specs/color/interp3.vl
+++ b/tests/specs/color/interp3.vl
@@ -1,36 +1,30 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Lab interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
+                "interpolate": {
+                    "type": "lab"
+                },
                 "range": [
                     "yellow",
                     "red"
                 ],
-                "interpolate": {
-                    "type": "lab"
-                },
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -40,5 +34,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Lab interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp4.vl b/tests/specs/color/interp4.vl
--- a/tests/specs/color/interp4.vl
+++ b/tests/specs/color/interp4.vl
@@ -1,36 +1,30 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "HCL interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
+                "interpolate": {
+                    "type": "hcl"
+                },
                 "range": [
                     "yellow",
                     "red"
                 ],
-                "interpolate": {
-                    "type": "hcl"
-                },
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -40,5 +34,11 @@
             "type": "quantitative"
         }
     },
-    "description": "HCL interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp5.vl b/tests/specs/color/interp5.vl
--- a/tests/specs/color/interp5.vl
+++ b/tests/specs/color/interp5.vl
@@ -1,36 +1,30 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "HCL-long interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
+                "interpolate": {
+                    "type": "hcl-long"
+                },
                 "range": [
                     "yellow",
                     "red"
                 ],
-                "interpolate": {
-                    "type": "hcl-long"
-                },
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -40,5 +34,11 @@
             "type": "quantitative"
         }
     },
-    "description": "HCL-long interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp6.vl b/tests/specs/color/interp6.vl
--- a/tests/specs/color/interp6.vl
+++ b/tests/specs/color/interp6.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": 1,
                     "type": "cubehelix"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/interp7.vl b/tests/specs/color/interp7.vl
--- a/tests/specs/color/interp7.vl
+++ b/tests/specs/color/interp7.vl
@@ -1,37 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cube-helix-long interpolation.",
     "encoding": {
         "color": {
             "field": "Acceleration",
             "scale": {
-                "range": [
-                    "yellow",
-                    "red"
-                ],
                 "interpolate": {
                     "gamma": 1,
                     "type": "cubehelix-long"
                 },
+                "range": [
+                    "yellow",
+                    "red"
+                ],
                 "type": "linear"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +35,11 @@
             "type": "quantitative"
         }
     },
-    "description": "cube-helix-long interpolation."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/namedContinuous1.vl b/tests/specs/color/namedContinuous1.vl
--- a/tests/specs/color/namedContinuous1.vl
+++ b/tests/specs/color/namedContinuous1.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Continuous colour scale based on named vega schame. Should use the entire plasma colour scheme.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -18,12 +12,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -33,5 +27,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Continuous colour scale based on named vega schame. Should use the entire plasma colour scheme."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/namedContinuous2.vl b/tests/specs/color/namedContinuous2.vl
--- a/tests/specs/color/namedContinuous2.vl
+++ b/tests/specs/color/namedContinuous2.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Continuous colour scale based on named vega schame. Should use the upper half of the plasma colour scheme.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -24,12 +18,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -39,5 +33,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Continuous colour scale based on named vega schame. Should use the upper half of the plasma colour scheme."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/namedContinuous3.vl b/tests/specs/color/namedContinuous3.vl
--- a/tests/specs/color/namedContinuous3.vl
+++ b/tests/specs/color/namedContinuous3.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Continuous colour scale based on named vega schame. Should use the flipped plasma colour scheme (i.e. red to orange).",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -19,12 +13,12 @@
             "sort": "descending",
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -34,5 +28,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Continuous colour scale based on named vega schame. Should use the flipped plasma colour scheme (i.e. red to orange)."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/namedContinuous4.vl b/tests/specs/color/namedContinuous4.vl
--- a/tests/specs/color/namedContinuous4.vl
+++ b/tests/specs/color/namedContinuous4.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Continuous colour scale based on named vega schame. Should use the first half of the flipped plasma colour scheme (i.e. red to orange).",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -25,12 +19,12 @@
             "sort": "descending",
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -40,5 +34,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Continuous colour scale based on named vega schame. Should use the first half of the flipped plasma colour scheme (i.e. red to orange)."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale1.vl b/tests/specs/color/scale1.vl
--- a/tests/specs/color/scale1.vl
+++ b/tests/specs/color/scale1.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Linear (default) colour scale.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -22,12 +16,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +31,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Linear (default) colour scale."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale3.vl b/tests/specs/color/scale3.vl
--- a/tests/specs/color/scale3.vl
+++ b/tests/specs/color/scale3.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Power colour scale with default (1) exponent.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -22,12 +16,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +31,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Power colour scale with default (1) exponent."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale4.vl b/tests/specs/color/scale4.vl
--- a/tests/specs/color/scale4.vl
+++ b/tests/specs/color/scale4.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Cubic Power colour scale.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -23,12 +17,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -38,5 +32,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Cubic Power colour scale."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale5.vl b/tests/specs/color/scale5.vl
--- a/tests/specs/color/scale5.vl
+++ b/tests/specs/color/scale5.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Square root colour scale.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -22,12 +16,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +31,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Square root colour scale."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale6.vl b/tests/specs/color/scale6.vl
--- a/tests/specs/color/scale6.vl
+++ b/tests/specs/color/scale6.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Log colour scale.",
     "encoding": {
         "color": {
             "field": "Acceleration",
@@ -22,12 +16,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +31,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Log colour scale."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale7.vl b/tests/specs/color/scale7.vl
--- a/tests/specs/color/scale7.vl
+++ b/tests/specs/color/scale7.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "SymLog colour scale with default slope constant (1).",
     "encoding": {
         "color": {
             "field": "accelerationZScore",
@@ -22,12 +16,12 @@
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +31,11 @@
             "type": "quantitative"
         }
     },
-    "description": "SymLog colour scale with default slope constant (1)."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/color/scale8.vl b/tests/specs/color/scale8.vl
--- a/tests/specs/color/scale8.vl
+++ b/tests/specs/color/scale8.vl
@@ -1,34 +1,28 @@
 {
-    "transform": [
-        {
-            "as": "accelerationZScore",
-            "calculate": "(datum.Acceleration - 15.52)/2.80"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "SymLog colour scale with slope constant of 0.01.",
     "encoding": {
         "color": {
             "field": "accelerationZScore",
             "scale": {
+                "constant": 1.0e-2,
                 "range": [
                     "yellow",
                     "red"
                 ],
-                "type": "symlog",
-                "constant": 1.0e-2
+                "type": "symlog"
             },
             "type": "quantitative"
         },
-        "size": {
-            "value": 60
-        },
         "opacity": {
             "value": 1
         },
+        "size": {
+            "value": 60
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -38,5 +32,11 @@
             "type": "quantitative"
         }
     },
-    "description": "SymLog colour scale with slope constant of 0.01."
+    "mark": "circle",
+    "transform": [
+        {
+            "as": "accelerationZScore",
+            "calculate": "(datum.Acceleration - 15.52)/2.80"
+        }
+    ]
 }
diff --git a/tests/specs/composite/boxplot1.vl b/tests/specs/composite/boxplot1.vl
--- a/tests/specs/composite/boxplot1.vl
+++ b/tests/specs/composite/boxplot1.vl
@@ -1,23 +1,23 @@
 {
-    "mark": {
-        "extent": "min-max",
-        "type": "boxplot"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "extent": "min-max",
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplot2.vl b/tests/specs/composite/boxplot2.vl
--- a/tests/specs/composite/boxplot2.vl
+++ b/tests/specs/composite/boxplot2.vl
@@ -1,23 +1,23 @@
 {
-    "mark": {
-        "extent": 2,
-        "type": "boxplot"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "extent": 2,
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplot3.vl b/tests/specs/composite/boxplot3.vl
--- a/tests/specs/composite/boxplot3.vl
+++ b/tests/specs/composite/boxplot3.vl
@@ -1,42 +1,42 @@
 {
-    "mark": {
-        "median": {
-            "strokeWidth": 0,
-            "size": 18,
-            "fill": "black"
-        },
-        "box": {
-            "color": "firebrick"
-        },
-        "rule": {
-            "strokeWidth": 0.4
-        },
-        "extent": 0.5,
-        "outliers": {
-            "strokeWidth": 0.3,
-            "color": "black",
-            "size": 10
-        },
-        "type": "boxplot",
-        "ticks": {
-            "size": 8
-        }
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "box": {
+            "color": "firebrick"
+        },
+        "extent": 0.5,
+        "median": {
+            "fill": "black",
+            "size": 18,
+            "strokeWidth": 0
+        },
+        "outliers": {
+            "color": "black",
+            "size": 10,
+            "strokeWidth": 0.3
+        },
+        "rule": {
+            "strokeWidth": 0.4
+        },
+        "ticks": {
+            "size": 8
+        },
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplotnobox.vl b/tests/specs/composite/boxplotnobox.vl
--- a/tests/specs/composite/boxplotnobox.vl
+++ b/tests/specs/composite/boxplotnobox.vl
@@ -1,29 +1,29 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "boxplot": {
             "ticks": true
         }
     },
-    "mark": {
-        "box": false,
-        "extent": 0.5,
-        "type": "boxplot"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "box": false,
+        "extent": 0.5,
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplotnomedian.vl b/tests/specs/composite/boxplotnomedian.vl
--- a/tests/specs/composite/boxplotnomedian.vl
+++ b/tests/specs/composite/boxplotnomedian.vl
@@ -1,29 +1,29 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "boxplot": {
             "ticks": true
         }
     },
-    "mark": {
-        "median": false,
-        "extent": 0.5,
-        "type": "boxplot"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "extent": 0.5,
+        "median": false,
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplotnooutliers.vl b/tests/specs/composite/boxplotnooutliers.vl
--- a/tests/specs/composite/boxplotnooutliers.vl
+++ b/tests/specs/composite/boxplotnooutliers.vl
@@ -1,29 +1,29 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "boxplot": {
             "ticks": true
         }
     },
-    "mark": {
-        "extent": 0.5,
-        "outliers": false,
-        "type": "boxplot"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "extent": 0.5,
+        "outliers": false,
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplotnorule.vl b/tests/specs/composite/boxplotnorule.vl
--- a/tests/specs/composite/boxplotnorule.vl
+++ b/tests/specs/composite/boxplotnorule.vl
@@ -1,29 +1,29 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "boxplot": {
             "ticks": true
         }
     },
-    "mark": {
-        "rule": false,
-        "extent": 0.5,
-        "type": "boxplot"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "extent": 0.5,
+        "rule": false,
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/boxplotnoticks.vl b/tests/specs/composite/boxplotnoticks.vl
--- a/tests/specs/composite/boxplotnoticks.vl
+++ b/tests/specs/composite/boxplotnoticks.vl
@@ -1,29 +1,29 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "boxplot": {
             "ticks": true
         }
     },
-    "mark": {
-        "extent": 0.5,
-        "type": "boxplot",
-        "ticks": false
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "age",
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": {
+        "extent": 0.5,
+        "ticks": false,
+        "type": "boxplot"
     }
 }
diff --git a/tests/specs/composite/errorband1.vl b/tests/specs/composite/errorband1.vl
--- a/tests/specs/composite/errorband1.vl
+++ b/tests/specs/composite/errorband1.vl
@@ -1,14 +1,8 @@
 {
-    "mark": {
-        "borders": true,
-        "extent": "ci",
-        "interpolate": "monotone",
-        "type": "errorband"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Year",
@@ -23,5 +17,11 @@
             "title": "Miles per Gallon (95% CI)",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "borders": true,
+        "extent": "ci",
+        "interpolate": "monotone",
+        "type": "errorband"
     }
 }
diff --git a/tests/specs/composite/errorband1no.vl b/tests/specs/composite/errorband1no.vl
--- a/tests/specs/composite/errorband1no.vl
+++ b/tests/specs/composite/errorband1no.vl
@@ -1,14 +1,8 @@
 {
-    "mark": {
-        "borders": false,
-        "extent": "ci",
-        "interpolate": "monotone",
-        "type": "errorband"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Year",
@@ -23,5 +17,11 @@
             "title": "Miles per Gallon (95% CI)",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "borders": false,
+        "extent": "ci",
+        "interpolate": "monotone",
+        "type": "errorband"
     }
 }
diff --git a/tests/specs/composite/errorband2.vl b/tests/specs/composite/errorband2.vl
--- a/tests/specs/composite/errorband2.vl
+++ b/tests/specs/composite/errorband2.vl
@@ -1,14 +1,8 @@
 {
-    "mark": {
-        "borders": true,
-        "extent": "stdev",
-        "interpolate": "monotone",
-        "type": "errorband"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Year",
@@ -23,5 +17,11 @@
             "title": "Miles per Gallon (1 stdev)",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "borders": true,
+        "extent": "stdev",
+        "interpolate": "monotone",
+        "type": "errorband"
     }
 }
diff --git a/tests/specs/composite/errorband2no.vl b/tests/specs/composite/errorband2no.vl
--- a/tests/specs/composite/errorband2no.vl
+++ b/tests/specs/composite/errorband2no.vl
@@ -1,14 +1,8 @@
 {
-    "mark": {
-        "borders": false,
-        "extent": "stdev",
-        "interpolate": "monotone",
-        "type": "errorband"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Year",
@@ -23,5 +17,11 @@
             "title": "Miles per Gallon (1 stdev)",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "borders": false,
+        "extent": "stdev",
+        "interpolate": "monotone",
+        "type": "errorband"
     }
 }
diff --git a/tests/specs/composite/errorbar1.vl b/tests/specs/composite/errorbar1.vl
--- a/tests/specs/composite/errorbar1.vl
+++ b/tests/specs/composite/errorbar1.vl
@@ -1,15 +1,8 @@
 {
-    "mark": {
-        "extent": "ci",
-        "type": "errorbar",
-        "ticks": {
-            "stroke": "blue"
-        }
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "yield",
@@ -22,5 +15,12 @@
             "field": "variety",
             "type": "ordinal"
         }
+    },
+    "mark": {
+        "extent": "ci",
+        "ticks": {
+            "stroke": "blue"
+        },
+        "type": "errorbar"
     }
 }
diff --git a/tests/specs/composite/errorbar2.vl b/tests/specs/composite/errorbar2.vl
--- a/tests/specs/composite/errorbar2.vl
+++ b/tests/specs/composite/errorbar2.vl
@@ -1,15 +1,8 @@
 {
-    "mark": {
-        "extent": "stdev",
-        "type": "errorbar",
-        "ticks": {
-            "stroke": "blue"
-        }
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "yield",
@@ -22,5 +15,12 @@
             "field": "variety",
             "type": "ordinal"
         }
+    },
+    "mark": {
+        "extent": "stdev",
+        "ticks": {
+            "stroke": "blue"
+        },
+        "type": "errorbar"
     }
 }
diff --git a/tests/specs/composite/errorbar3.vl b/tests/specs/composite/errorbar3.vl
--- a/tests/specs/composite/errorbar3.vl
+++ b/tests/specs/composite/errorbar3.vl
@@ -1,14 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Error bars with color encoding",
     "layer": [
         {
-            "mark": {
-                "type": "errorbar",
-                "ticks": true
-            },
             "encoding": {
                 "color": {
                     "value": "#4682b4"
@@ -24,26 +21,29 @@
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "ticks": true,
+                "type": "errorbar"
             }
         },
         {
-            "mark": {
-                "color": "black",
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
-                    "field": "yield",
                     "aggregate": "mean",
+                    "field": "yield",
                     "type": "quantitative"
                 },
                 "y": {
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "color": "black",
+                "filled": true,
+                "type": "point"
             }
         }
-    ],
-    "description": "Error bars with color encoding"
+    ]
 }
diff --git a/tests/specs/composite/errorbar3no.vl b/tests/specs/composite/errorbar3no.vl
--- a/tests/specs/composite/errorbar3no.vl
+++ b/tests/specs/composite/errorbar3no.vl
@@ -1,14 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Error bars with color encoding",
     "layer": [
         {
-            "mark": {
-                "type": "errorbar",
-                "ticks": false
-            },
             "encoding": {
                 "color": {
                     "value": "#4682b4"
@@ -24,26 +21,29 @@
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "ticks": false,
+                "type": "errorbar"
             }
         },
         {
-            "mark": {
-                "color": "black",
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
-                    "field": "yield",
                     "aggregate": "mean",
+                    "field": "yield",
                     "type": "quantitative"
                 },
                 "y": {
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "color": "black",
+                "filled": true,
+                "type": "point"
             }
         }
-    ],
-    "description": "Error bars with color encoding"
+    ]
 }
diff --git a/tests/specs/composite/errorbar4.vl b/tests/specs/composite/errorbar4.vl
--- a/tests/specs/composite/errorbar4.vl
+++ b/tests/specs/composite/errorbar4.vl
@@ -1,39 +1,36 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "yieldError2": -10.55,
-                "yieldError": 7.55,
                 "variety": "Glabron",
-                "yield": 32.4
+                "yield": 32.4,
+                "yieldError": 7.55,
+                "yieldError2": -10.55
             },
             {
-                "yieldError2": -3.98,
-                "yieldError": 6.98,
                 "variety": "Manchuria",
-                "yield": 30.97
+                "yield": 30.97,
+                "yieldError": 6.98,
+                "yieldError2": -3.98
             },
             {
-                "yieldError2": -0.92,
-                "yieldError": 3.92,
                 "variety": "No. 457",
-                "yield": 33.96
+                "yield": 33.96,
+                "yieldError": 3.92,
+                "yieldError2": -0.92
             },
             {
-                "yieldError2": -15.97,
-                "yieldError": 11.97,
                 "variety": "No. 462",
-                "yield": 30.45
+                "yield": 30.45,
+                "yieldError": 11.97,
+                "yieldError2": -15.97
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Symetric error bars encoded with xError channel",
     "layer": [
         {
-            "mark": {
-                "type": "errorbar",
-                "ticks": true
-            },
             "encoding": {
                 "x": {
                     "field": "yield",
@@ -49,14 +46,13 @@
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "ticks": true,
+                "type": "errorbar"
             }
         },
         {
-            "mark": {
-                "color": "black",
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
                     "field": "yield",
@@ -66,8 +62,12 @@
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "color": "black",
+                "filled": true,
+                "type": "point"
             }
         }
-    ],
-    "description": "Symetric error bars encoded with xError channel"
+    ]
 }
diff --git a/tests/specs/composite/errorbar5.vl b/tests/specs/composite/errorbar5.vl
--- a/tests/specs/composite/errorbar5.vl
+++ b/tests/specs/composite/errorbar5.vl
@@ -1,43 +1,37 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "yieldError2": -10.55,
-                "yieldError": 7.55,
                 "variety": "Glabron",
-                "yield": 32.4
+                "yield": 32.4,
+                "yieldError": 7.55,
+                "yieldError2": -10.55
             },
             {
-                "yieldError2": -3.98,
-                "yieldError": 6.98,
                 "variety": "Manchuria",
-                "yield": 30.97
+                "yield": 30.97,
+                "yieldError": 6.98,
+                "yieldError2": -3.98
             },
             {
-                "yieldError2": -0.92,
-                "yieldError": 3.92,
                 "variety": "No. 457",
-                "yield": 33.96
+                "yield": 33.96,
+                "yieldError": 3.92,
+                "yieldError2": -0.92
             },
             {
-                "yieldError2": -15.97,
-                "yieldError": 11.97,
                 "variety": "No. 462",
-                "yield": 30.45
+                "yield": 30.45,
+                "yieldError": 11.97,
+                "yieldError2": -15.97
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Asymetric error bars encoded with xError and xError2 channels",
     "layer": [
         {
-            "mark": {
-                "type": "errorbar",
-                "ticks": true
-            },
             "encoding": {
-                "xError2": {
-                    "field": "yieldError2"
-                },
                 "x": {
                     "field": "yield",
                     "scale": {
@@ -48,18 +42,20 @@
                 "xError": {
                     "field": "yieldError"
                 },
+                "xError2": {
+                    "field": "yieldError2"
+                },
                 "y": {
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "ticks": true,
+                "type": "errorbar"
             }
         },
         {
-            "mark": {
-                "color": "black",
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
                     "field": "yield",
@@ -69,8 +65,12 @@
                     "field": "variety",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "color": "black",
+                "filled": true,
+                "type": "point"
             }
         }
-    ],
-    "description": "Asymetric error bars encoded with xError and xError2 channels"
+    ]
 }
diff --git a/tests/specs/composite/errorbar6.vl b/tests/specs/composite/errorbar6.vl
--- a/tests/specs/composite/errorbar6.vl
+++ b/tests/specs/composite/errorbar6.vl
@@ -1,43 +1,37 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "yieldError2": -10.55,
-                "yieldError": 7.55,
                 "variety": "Glabron",
-                "yield": 32.4
+                "yield": 32.4,
+                "yieldError": 7.55,
+                "yieldError2": -10.55
             },
             {
-                "yieldError2": -3.98,
-                "yieldError": 6.98,
                 "variety": "Manchuria",
-                "yield": 30.97
+                "yield": 30.97,
+                "yieldError": 6.98,
+                "yieldError2": -3.98
             },
             {
-                "yieldError2": -0.92,
-                "yieldError": 3.92,
                 "variety": "No. 457",
-                "yield": 33.96
+                "yield": 33.96,
+                "yieldError": 3.92,
+                "yieldError2": -0.92
             },
             {
-                "yieldError2": -15.97,
-                "yieldError": 11.97,
                 "variety": "No. 462",
-                "yield": 30.45
+                "yield": 30.45,
+                "yieldError": 11.97,
+                "yieldError2": -15.97
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Symetric error bars encoded with yError channel",
     "layer": [
         {
-            "mark": {
-                "type": "errorbar",
-                "ticks": true
-            },
             "encoding": {
-                "yError": {
-                    "field": "yieldError"
-                },
                 "x": {
                     "field": "variety",
                     "type": "ordinal"
@@ -48,15 +42,17 @@
                         "zero": false
                     },
                     "type": "quantitative"
+                },
+                "yError": {
+                    "field": "yieldError"
                 }
+            },
+            "mark": {
+                "ticks": true,
+                "type": "errorbar"
             }
         },
         {
-            "mark": {
-                "color": "black",
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
                     "field": "variety",
@@ -66,8 +62,12 @@
                     "field": "yield",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "black",
+                "filled": true,
+                "type": "point"
             }
         }
-    ],
-    "description": "Symetric error bars encoded with yError channel"
+    ]
 }
diff --git a/tests/specs/composite/errorbar7.vl b/tests/specs/composite/errorbar7.vl
--- a/tests/specs/composite/errorbar7.vl
+++ b/tests/specs/composite/errorbar7.vl
@@ -1,46 +1,37 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "yieldError2": -10.55,
-                "yieldError": 7.55,
                 "variety": "Glabron",
-                "yield": 32.4
+                "yield": 32.4,
+                "yieldError": 7.55,
+                "yieldError2": -10.55
             },
             {
-                "yieldError2": -3.98,
-                "yieldError": 6.98,
                 "variety": "Manchuria",
-                "yield": 30.97
+                "yield": 30.97,
+                "yieldError": 6.98,
+                "yieldError2": -3.98
             },
             {
-                "yieldError2": -0.92,
-                "yieldError": 3.92,
                 "variety": "No. 457",
-                "yield": 33.96
+                "yield": 33.96,
+                "yieldError": 3.92,
+                "yieldError2": -0.92
             },
             {
-                "yieldError2": -15.97,
-                "yieldError": 11.97,
                 "variety": "No. 462",
-                "yield": 30.45
+                "yield": 30.45,
+                "yieldError": 11.97,
+                "yieldError2": -15.97
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Asymetric error bars encoded with yError and yError2 channels",
     "layer": [
         {
-            "mark": {
-                "type": "errorbar",
-                "ticks": true
-            },
             "encoding": {
-                "yError2": {
-                    "field": "yieldError2"
-                },
-                "yError": {
-                    "field": "yieldError"
-                },
                 "x": {
                     "field": "variety",
                     "type": "ordinal"
@@ -51,15 +42,20 @@
                         "zero": false
                     },
                     "type": "quantitative"
+                },
+                "yError": {
+                    "field": "yieldError"
+                },
+                "yError2": {
+                    "field": "yieldError2"
                 }
+            },
+            "mark": {
+                "ticks": true,
+                "type": "errorbar"
             }
         },
         {
-            "mark": {
-                "color": "black",
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
                     "field": "variety",
@@ -69,8 +65,12 @@
                     "field": "yield",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "black",
+                "filled": true,
+                "type": "point"
             }
         }
-    ],
-    "description": "Asymetric error bars encoded with yError and yError2 channels"
+    ]
 }
diff --git a/tests/specs/conditional/axisCondition1.vl b/tests/specs/conditional/axisCondition1.vl
--- a/tests/specs/conditional/axisCondition1.vl
+++ b/tests/specs/conditional/axisCondition1.vl
@@ -1,42 +1,42 @@
 {
-    "height": 600,
-    "mark": {
-        "opacity": 0.1,
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
-            "type": "quantitative",
             "axis": {
-                "tickCount": 20,
+                "gridColor": {
+                    "condition": {
+                        "test": "datum.value <= 7",
+                        "value": "green"
+                    },
+                    "value": "red"
+                },
                 "gridDash": {
-                    "value": [],
                     "condition": {
+                        "test": "datum.value <= 5",
                         "value": [
                             5,
                             5
-                        ],
-                        "test": "datum.value <= 5"
-                    }
+                        ]
+                    },
+                    "value": []
                 },
-                "gridColor": {
-                    "value": "red",
-                    "condition": {
-                        "value": "green",
-                        "test": "datum.value <= 7"
-                    }
-                }
-            }
+                "tickCount": 20
+            },
+            "field": "IMDB_Rating",
+            "type": "quantitative"
         },
         "y": {
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 600,
+    "mark": {
+        "opacity": 0.1,
+        "type": "point"
+    },
+    "width": 600
 }
diff --git a/tests/specs/conditional/axisCondition2.vl b/tests/specs/conditional/axisCondition2.vl
--- a/tests/specs/conditional/axisCondition2.vl
+++ b/tests/specs/conditional/axisCondition2.vl
@@ -1,70 +1,70 @@
 {
-    "height": 600,
-    "mark": {
-        "opacity": 0.1,
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
-            "type": "quantitative",
             "axis": {
-                "tickSize": {
-                    "value": 5,
+                "labelPadding": {
                     "condition": {
-                        "value": 20,
-                        "test": "(datum.value > 0) && (datum.value < 3)"
-                    }
+                        "test": "(datum.value >= 1) && (datum.value <= 4)",
+                        "value": 20
+                    },
+                    "value": 5
                 },
-                "tickWidth": {
-                    "value": 2,
+                "tickColor": {
                     "condition": {
-                        "value": 5,
-                        "test": "datum.label =='4.0'"
-                    }
+                        "test": "datum.value <= 2",
+                        "value": "red"
+                    },
+                    "value": "blue"
                 },
+                "tickCount": 20,
                 "tickDash": {
-                    "value": [],
                     "condition": {
+                        "test": "(datum.value >= 5) && (datum.value <= 8)",
                         "value": [
                             2,
                             2
-                        ],
-                        "test": "(datum.value >= 5) && (datum.value <= 8)"
-                    }
+                        ]
+                    },
+                    "value": []
                 },
-                "tickCount": 20,
                 "tickOpacity": {
-                    "value": 0.8,
                     "condition": {
-                        "value": 0.3,
-                        "test": "datum.value >=8"
-                    }
+                        "test": "datum.value >=8",
+                        "value": 0.3
+                    },
+                    "value": 0.8
                 },
-                "labelPadding": {
-                    "value": 5,
+                "tickSize": {
                     "condition": {
-                        "value": 20,
-                        "test": "(datum.value >= 1) && (datum.value <= 4)"
-                    }
+                        "test": "(datum.value > 0) && (datum.value < 3)",
+                        "value": 20
+                    },
+                    "value": 5
                 },
-                "tickColor": {
-                    "value": "blue",
+                "tickWidth": {
                     "condition": {
-                        "value": "red",
-                        "test": "datum.value <= 2"
-                    }
+                        "test": "datum.label =='4.0'",
+                        "value": 5
+                    },
+                    "value": 2
                 }
-            }
+            },
+            "field": "IMDB_Rating",
+            "type": "quantitative"
         },
         "y": {
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 600,
+    "mark": {
+        "opacity": 0.1,
+        "type": "point"
+    },
+    "width": 600
 }
diff --git a/tests/specs/conditional/axisCondition3.vl b/tests/specs/conditional/axisCondition3.vl
--- a/tests/specs/conditional/axisCondition3.vl
+++ b/tests/specs/conditional/axisCondition3.vl
@@ -1,81 +1,81 @@
 {
-    "height": 600,
-    "mark": {
-        "opacity": 0.1,
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
-            "type": "quantitative",
             "axis": {
-                "labelOpacity": {
-                    "value": 0.8,
+                "labelAlign": {
                     "condition": {
-                        "value": 0.3,
-                        "test": "datum.value >=9"
-                    }
+                        "test": "datum.value <= 1",
+                        "value": "right"
+                    },
+                    "value": "left"
                 },
-                "labelFontStyle": {
-                    "value": "italic",
+                "labelBaseline": {
                     "condition": {
-                        "value": "normal",
-                        "test": "datum.value <=8"
-                    }
+                        "test": "datum.value <= 3",
+                        "value": "top"
+                    },
+                    "value": "bottom"
                 },
                 "labelColor": {
-                    "value": "blue",
                     "condition": {
-                        "value": "red",
-                        "test": "datum.value <= 2"
-                    }
+                        "test": "datum.value <= 2",
+                        "value": "red"
+                    },
+                    "value": "blue"
                 },
-                "tickCount": 20,
-                "labelFontWeight": {
-                    "value": 100,
+                "labelFont": {
                     "condition": {
-                        "value": "bold",
-                        "test": "datum.label =='4.0'"
-                    }
+                        "test": "datum.value <= 4",
+                        "value": "serif"
+                    },
+                    "value": "sans-serif"
                 },
-                "labelBaseline": {
-                    "value": "bottom",
+                "labelFontSize": {
                     "condition": {
-                        "value": "top",
-                        "test": "datum.value <= 3"
-                    }
+                        "test": "datum.value <= 6",
+                        "value": 12
+                    },
+                    "value": 18
                 },
-                "labelFont": {
-                    "value": "sans-serif",
+                "labelFontStyle": {
                     "condition": {
-                        "value": "serif",
-                        "test": "datum.value <= 4"
-                    }
+                        "test": "datum.value <=8",
+                        "value": "normal"
+                    },
+                    "value": "italic"
                 },
-                "labelFontSize": {
-                    "value": 18,
+                "labelFontWeight": {
                     "condition": {
-                        "value": 12,
-                        "test": "datum.value <= 6"
-                    }
+                        "test": "datum.label =='4.0'",
+                        "value": "bold"
+                    },
+                    "value": 100
                 },
-                "labelAlign": {
-                    "value": "left",
+                "labelOpacity": {
                     "condition": {
-                        "value": "right",
-                        "test": "datum.value <= 1"
-                    }
-                }
-            }
+                        "test": "datum.value >=9",
+                        "value": 0.3
+                    },
+                    "value": 0.8
+                },
+                "tickCount": 20
+            },
+            "field": "IMDB_Rating",
+            "type": "quantitative"
         },
         "y": {
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 600,
+    "mark": {
+        "opacity": 0.1,
+        "type": "point"
+    },
+    "width": 600
 }
diff --git a/tests/specs/conditional/axisDateCondition1.vl b/tests/specs/conditional/axisDateCondition1.vl
--- a/tests/specs/conditional/axisDateCondition1.vl
+++ b/tests/specs/conditional/axisDateCondition1.vl
@@ -1,25 +1,13 @@
 {
-    "mark": {
-        "borders": true,
-        "extent": "iqr",
-        "interpolate": "monotone",
-        "type": "errorband"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "Year",
-            "timeUnit": "year",
-            "type": "temporal",
             "axis": {
                 "gridWidth": {
-                    "value": 1,
                     "condition": {
-                        "value": 4,
                         "test": {
                             "equal": {
                                 "date": 1,
@@ -27,10 +15,15 @@
                             },
                             "field": "value",
                             "timeUnit": "monthdate"
-                        }
-                    }
+                        },
+                        "value": 4
+                    },
+                    "value": 1
                 }
-            }
+            },
+            "field": "Year",
+            "timeUnit": "year",
+            "type": "temporal"
         },
         "y": {
             "field": "Miles_per_Gallon",
@@ -39,5 +32,12 @@
             },
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "borders": true,
+        "extent": "iqr",
+        "interpolate": "monotone",
+        "type": "errorband"
+    },
+    "width": 600
 }
diff --git a/tests/specs/conditional/axisconditionlabeloffset.vl b/tests/specs/conditional/axisconditionlabeloffset.vl
--- a/tests/specs/conditional/axisconditionlabeloffset.vl
+++ b/tests/specs/conditional/axisconditionlabeloffset.vl
@@ -1,32 +1,32 @@
 {
-    "height": 600,
-    "mark": {
-        "opacity": 0.1,
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
-            "type": "quantitative",
             "axis": {
                 "labelOffset": {
-                    "value": 5,
                     "condition": {
-                        "value": 10,
-                        "test": "datum.value <= 5"
-                    }
+                        "test": "datum.value <= 5",
+                        "value": 10
+                    },
+                    "value": 5
                 },
                 "tickCount": 20
-            }
+            },
+            "field": "IMDB_Rating",
+            "type": "quantitative"
         },
         "y": {
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 600,
+    "mark": {
+        "opacity": 0.1,
+        "type": "point"
+    },
+    "width": 600
 }
diff --git a/tests/specs/conditional/bindScales1.vl b/tests/specs/conditional/bindScales1.vl
--- a/tests/specs/conditional/bindScales1.vl
+++ b/tests/specs/conditional/bindScales1.vl
@@ -1,17 +1,8 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "myZoomPan": {
-            "bind": "scales",
-            "type": "interval"
-        }
-    },
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -21,5 +12,14 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "selection": {
+        "myZoomPan": {
+            "bind": "scales",
+            "type": "interval"
+        }
+    },
+    "width": 300
 }
diff --git a/tests/specs/conditional/bindScales2.vl b/tests/specs/conditional/bindScales2.vl
--- a/tests/specs/conditional/bindScales2.vl
+++ b/tests/specs/conditional/bindScales2.vl
@@ -1,18 +1,8 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "myZoomPan": {
-            "clear": "click[event.shiftKey]",
-            "bind": "scales",
-            "type": "interval"
-        }
-    },
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -22,5 +12,15 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "selection": {
+        "myZoomPan": {
+            "bind": "scales",
+            "clear": "click[event.shiftKey]",
+            "type": "interval"
+        }
+    },
+    "width": 300
 }
diff --git a/tests/specs/conditional/markCondition1.vl b/tests/specs/conditional/markCondition1.vl
--- a/tests/specs/conditional/markCondition1.vl
+++ b/tests/specs/conditional/markCondition1.vl
@@ -1,31 +1,25 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "mark": {
             "invalid": null
         }
     },
-    "mark": {
-        "tooltip": {
-            "content": "encoding"
-        },
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "value": "#0099ee",
             "condition": {
-                "value": "#ddd",
                 "test": {
                     "or": [
                         "datum.IMDB_Rating === null",
                         "datum.Rotten_Tomatoes_Rating === null"
                     ]
-                }
-            }
+                },
+                "value": "#ddd"
+            },
+            "value": "#0099ee"
         },
         "x": {
             "field": "IMDB_Rating",
@@ -35,5 +29,11 @@
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "tooltip": {
+            "content": "encoding"
+        },
+        "type": "point"
     }
 }
diff --git a/tests/specs/conditional/markCondition2.vl b/tests/specs/conditional/markCondition2.vl
--- a/tests/specs/conditional/markCondition2.vl
+++ b/tests/specs/conditional/markCondition2.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "size": 800,
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -25,29 +22,32 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "value": "black",
             "condition": [
                 {
-                    "value": "blue",
-                    "test": "datum.value < 40"
+                    "test": "datum.value < 40",
+                    "value": "blue"
                 },
                 {
-                    "value": "red",
-                    "test": "datum.value < 50"
+                    "test": "datum.value < 50",
+                    "value": "red"
                 },
                 {
-                    "value": "yellow",
-                    "test": "datum.value < 60"
+                    "test": "datum.value < 60",
+                    "value": "yellow"
                 }
-            ]
+            ],
+            "value": "black"
         },
         "x": {
             "field": "value",
             "type": "ordinal"
         }
-    }
+    },
+    "mark": {
+        "size": 800,
+        "type": "circle"
+    },
+    "width": 400
 }
diff --git a/tests/specs/conditional/selectionCondition1.vl b/tests/specs/conditional/selectionCondition1.vl
--- a/tests/specs/conditional/selectionCondition1.vl
+++ b/tests/specs/conditional/selectionCondition1.vl
@@ -1,33 +1,12 @@
 {
-    "mark": {
-        "cursor": "grab",
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "alex": {
-            "type": "interval",
-            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
-            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove"
-        },
-        "morgan": {
-            "mark": {
-                "stroke": "#e34a33",
-                "fill": "#fdbb84",
-                "fillOpacity": 0.5
-            },
-            "type": "interval",
-            "translate": "[mousedown[event.shiftKey], mouseup] > mousemove",
-            "on": "[mousedown[event.shiftKey], mouseup] > mousemove"
-        }
-    },
     "encoding": {
         "color": {
-            "field": "*",
             "aggregate": "count",
+            "field": "*",
             "type": "quantitative"
         },
         "x": {
@@ -37,6 +16,27 @@
         "y": {
             "field": "Origin",
             "type": "ordinal"
+        }
+    },
+    "mark": {
+        "cursor": "grab",
+        "type": "rect"
+    },
+    "selection": {
+        "alex": {
+            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "type": "interval"
+        },
+        "morgan": {
+            "mark": {
+                "fill": "#fdbb84",
+                "fillOpacity": 0.5,
+                "stroke": "#e34a33"
+            },
+            "on": "[mousedown[event.shiftKey], mouseup] > mousemove",
+            "translate": "[mousedown[event.shiftKey], mouseup] > mousemove",
+            "type": "interval"
         }
     }
 }
diff --git a/tests/specs/conditional/selectionCondition2.vl b/tests/specs/conditional/selectionCondition2.vl
--- a/tests/specs/conditional/selectionCondition2.vl
+++ b/tests/specs/conditional/selectionCondition2.vl
@@ -1,35 +1,13 @@
 {
-    "mark": {
-        "cursor": "grab",
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "alex": {
-            "type": "interval",
-            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
-            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove"
-        },
-        "morgan": {
-            "mark": {
-                "stroke": "#e34a33",
-                "fill": "#fdbb84",
-                "fillOpacity": 0.5
-            },
-            "type": "interval",
-            "translate": "[mousedown[event.shiftKey], mouseup] > mousemove",
-            "on": "[mousedown[event.shiftKey], mouseup] > mousemove"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "gray",
             "condition": {
-                "field": "*",
                 "aggregate": "count",
+                "field": "*",
                 "selection": {
                     "and": [
                         "alex",
@@ -37,7 +15,8 @@
                     ]
                 },
                 "type": "quantitative"
-            }
+            },
+            "value": "gray"
         },
         "x": {
             "field": "Cylinders",
@@ -46,6 +25,27 @@
         "y": {
             "field": "Origin",
             "type": "ordinal"
+        }
+    },
+    "mark": {
+        "cursor": "grab",
+        "type": "rect"
+    },
+    "selection": {
+        "alex": {
+            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "type": "interval"
+        },
+        "morgan": {
+            "mark": {
+                "fill": "#fdbb84",
+                "fillOpacity": 0.5,
+                "stroke": "#e34a33"
+            },
+            "on": "[mousedown[event.shiftKey], mouseup] > mousemove",
+            "translate": "[mousedown[event.shiftKey], mouseup] > mousemove",
+            "type": "interval"
         }
     }
 }
diff --git a/tests/specs/conditional/selectionCondition3.vl b/tests/specs/conditional/selectionCondition3.vl
--- a/tests/specs/conditional/selectionCondition3.vl
+++ b/tests/specs/conditional/selectionCondition3.vl
@@ -1,15 +1,10 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
     "vconcat": [
         {
-            "mark": "point",
-            "selection": {
-                "brush": {
-                    "type": "interval"
-                }
-            },
             "encoding": {
                 "x": {
                     "field": "Horsepower",
@@ -19,22 +14,15 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
+            },
+            "mark": "point",
+            "selection": {
+                "brush": {
+                    "type": "interval"
+                }
             }
         },
         {
-            "transform": [
-                {
-                    "filter": {
-                        "and": [
-                            {
-                                "selection": "brush"
-                            },
-                            "datum.Weight_in_lbs > 3000"
-                        ]
-                    }
-                }
-            ],
-            "mark": "point",
             "encoding": {
                 "x": {
                     "field": "Acceleration",
@@ -56,8 +44,20 @@
                     },
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point",
+            "transform": [
+                {
+                    "filter": {
+                        "and": [
+                            {
+                                "selection": "brush"
+                            },
+                            "datum.Weight_in_lbs > 3000"
+                        ]
+                    }
+                }
+            ]
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/conditional/selectionCondition4.vl b/tests/specs/conditional/selectionCondition4.vl
--- a/tests/specs/conditional/selectionCondition4.vl
+++ b/tests/specs/conditional/selectionCondition4.vl
@@ -1,29 +1,17 @@
 {
-    "mark": {
-        "cursor": "grab",
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "clear": false,
-            "type": "interval",
-            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
-            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "gray",
             "condition": {
-                "field": "*",
                 "aggregate": "count",
+                "field": "*",
                 "selection": "mySelection",
                 "type": "quantitative"
-            }
+            },
+            "value": "gray"
         },
         "x": {
             "field": "Cylinders",
@@ -32,6 +20,18 @@
         "y": {
             "field": "Origin",
             "type": "ordinal"
+        }
+    },
+    "mark": {
+        "cursor": "grab",
+        "type": "rect"
+    },
+    "selection": {
+        "mySelection": {
+            "clear": false,
+            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "type": "interval"
         }
     }
 }
diff --git a/tests/specs/conditional/selectionCondition5.vl b/tests/specs/conditional/selectionCondition5.vl
--- a/tests/specs/conditional/selectionCondition5.vl
+++ b/tests/specs/conditional/selectionCondition5.vl
@@ -1,30 +1,17 @@
 {
-    "mark": {
-        "cursor": "grab",
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "empty": "none",
-            "clear": "mouseup",
-            "type": "interval",
-            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
-            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "gray",
             "condition": {
-                "field": "*",
                 "aggregate": "count",
+                "field": "*",
                 "selection": "mySelection",
                 "type": "quantitative"
-            }
+            },
+            "value": "gray"
         },
         "x": {
             "field": "Cylinders",
@@ -33,6 +20,19 @@
         "y": {
             "field": "Origin",
             "type": "ordinal"
+        }
+    },
+    "mark": {
+        "cursor": "grab",
+        "type": "rect"
+    },
+    "selection": {
+        "mySelection": {
+            "clear": "mouseup",
+            "empty": "none",
+            "on": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "translate": "[mousedown[!event.shiftKey], mouseup] > mousemove",
+            "type": "interval"
         }
     }
 }
diff --git a/tests/specs/conditional/selectionHeatMap.vl b/tests/specs/conditional/selectionHeatMap.vl
--- a/tests/specs/conditional/selectionHeatMap.vl
+++ b/tests/specs/conditional/selectionHeatMap.vl
@@ -1,92 +1,92 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "scale": {
-            "bandPaddingInner": 0,
-            "bandPaddingOuter": 0
+        "axis": {
+            "domain": false
         },
         "range": {
             "ramp": {
                 "scheme": "yellowgreenblue"
             }
         },
+        "scale": {
+            "bandPaddingInner": 0,
+            "bandPaddingOuter": 0
+        },
         "view": {
             "step": 40
-        },
-        "axis": {
-            "domain": false
         }
     },
-    "mark": {
-        "strokeWidth": 2,
-        "type": "rect"
-    },
     "data": {
         "values": [
             {
-                "predicted": "A",
+                "actual": "A",
                 "count": 13,
-                "actual": "A"
+                "predicted": "A"
             },
             {
-                "predicted": "B",
+                "actual": "A",
                 "count": 0,
-                "actual": "A"
+                "predicted": "B"
             },
             {
-                "predicted": "C",
+                "actual": "A",
                 "count": 0,
-                "actual": "A"
+                "predicted": "C"
             },
             {
-                "predicted": "A",
+                "actual": "B",
                 "count": 0,
-                "actual": "B"
+                "predicted": "A"
             },
             {
-                "predicted": "B",
+                "actual": "B",
                 "count": 10,
-                "actual": "B"
+                "predicted": "B"
             },
             {
-                "predicted": "C",
+                "actual": "B",
                 "count": 6,
-                "actual": "B"
+                "predicted": "C"
             },
             {
-                "predicted": "A",
+                "actual": "C",
                 "count": 0,
-                "actual": "C"
+                "predicted": "A"
             },
             {
-                "predicted": "B",
+                "actual": "C",
                 "count": 0,
-                "actual": "C"
+                "predicted": "B"
             },
             {
-                "predicted": "C",
+                "actual": "C",
                 "count": 9,
-                "actual": "C"
+                "predicted": "C"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "highlight": {
-            "type": "single"
-        }
-    },
     "encoding": {
+        "fill": {
+            "field": "count",
+            "type": "quantitative"
+        },
         "opacity": {
-            "value": 0.5,
             "condition": {
-                "value": 1,
-                "selection": "highlight"
-            }
+                "selection": "highlight",
+                "value": 1
+            },
+            "value": 0.5
         },
+        "order": {
+            "condition": {
+                "selection": "highlight",
+                "value": 1
+            },
+            "value": 0
+        },
         "stroke": {
-            "value": null,
             "condition": {
-                "value": "black",
                 "test": {
                     "and": [
                         {
@@ -94,27 +94,27 @@
                         },
                         "length(data(\"highlight_store\"))"
                     ]
-                }
-            }
-        },
-        "fill": {
-            "field": "count",
-            "type": "quantitative"
+                },
+                "value": "black"
+            },
+            "value": null
         },
         "x": {
             "field": "predicted",
             "type": "nominal"
         },
-        "order": {
-            "value": 0,
-            "condition": {
-                "value": 1,
-                "selection": "highlight"
-            }
-        },
         "y": {
             "field": "actual",
             "type": "nominal"
+        }
+    },
+    "mark": {
+        "strokeWidth": 2,
+        "type": "rect"
+    },
+    "selection": {
+        "highlight": {
+            "type": "single"
         }
     }
 }
diff --git a/tests/specs/config/axisCfg1.vl b/tests/specs/config/axisCfg1.vl
--- a/tests/specs/config/axisCfg1.vl
+++ b/tests/specs/config/axisCfg1.vl
@@ -1,24 +1,17 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "axis": {
+            "labelFont": "serif",
             "labelFontStyle": "bold",
+            "titleAnchor": "end",
             "titleFont": "serif",
-            "titleFontStyle": "italic",
-            "labelFont": "serif",
-            "titleAnchor": "end"
+            "titleFontStyle": "italic"
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -36,5 +29,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/breaklinecfg.vl b/tests/specs/config/breaklinecfg.vl
--- a/tests/specs/config/breaklinecfg.vl
+++ b/tests/specs/config/breaklinecfg.vl
@@ -1,8 +1,8 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "lineBreak": "X"
     },
-    "mark": "text",
     "data": {
         "values": [
             {
@@ -22,7 +22,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "text": {
             "field": "l",
@@ -36,5 +35,6 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "text"
 }
diff --git a/tests/specs/config/dark.vl b/tests/specs/config/dark.vl
--- a/tests/specs/config/dark.vl
+++ b/tests/specs/config/dark.vl
@@ -1,13 +1,38 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "axis": {
+            "domainColor": "yellow",
+            "gridColor": "rgb(255,255,200)",
+            "gridOpacity": 0.2,
+            "labelColor": "#fcf",
+            "labelFont": "Roboto",
+            "tickColor": "white",
+            "titleColor": "rgb(200,255,200)",
+            "titleFont": "Roboto"
+        },
+        "background": "black",
+        "legend": {
+            "direction": "horizontal",
+            "fillColor": "#333",
+            "gradientStrokeColor": "yellow",
+            "labelColor": "white",
+            "labelFont": "Roboto",
+            "strokeColor": "#444",
+            "symbolFillColor": "red",
+            "titleColor": "rgb(200,200,200)",
+            "titleFont": "Roboto"
+        },
+        "title": {
+            "color": "#fff",
+            "font": "Roboto"
+        }
+    },
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
     "hconcat": [
         {
-            "height": 200,
-            "mark": {
-                "size": 100,
-                "type": "point"
-            },
-            "width": 200,
-            "title": "Car Scatter",
             "encoding": {
                 "color": {
                     "field": "Cylinders",
@@ -25,13 +50,16 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": {
+                "size": 100,
+                "type": "point"
+            },
+            "title": "Car Scatter",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "bar",
-            "width": 200,
-            "title": "Car Histogram",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -45,13 +73,13 @@
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "bar",
+            "title": "Car Histogram",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "area",
-            "width": 200,
-            "title": "Car Streamgraph",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -64,49 +92,21 @@
                 },
                 "y": {
                     "aggregate": "count",
-                    "type": "quantitative",
                     "axis": null,
-                    "stack": "center"
+                    "stack": "center",
+                    "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "area",
+            "title": "Car Streamgraph",
+            "width": 200
         }
     ],
-    "config": {
-        "title": {
-            "color": "#fff",
-            "font": "Roboto"
-        },
-        "axis": {
-            "domainColor": "yellow",
-            "labelColor": "#fcf",
-            "titleFont": "Roboto",
-            "titleColor": "rgb(200,255,200)",
-            "gridColor": "rgb(255,255,200)",
-            "labelFont": "Roboto",
-            "tickColor": "white",
-            "gridOpacity": 0.2
-        },
-        "background": "black",
-        "legend": {
-            "gradientStrokeColor": "yellow",
-            "fillColor": "#333",
-            "direction": "horizontal",
-            "labelColor": "white",
-            "titleFont": "Roboto",
-            "symbolFillColor": "red",
-            "titleColor": "rgb(200,200,200)",
-            "labelFont": "Roboto",
-            "strokeColor": "#444"
-        }
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
     "resolve": {
         "scale": {
             "color": "independent",
             "shape": "independent"
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    }
 }
diff --git a/tests/specs/config/default.vl b/tests/specs/config/default.vl
--- a/tests/specs/config/default.vl
+++ b/tests/specs/config/default.vl
@@ -1,13 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {},
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
     "hconcat": [
         {
-            "height": 200,
-            "mark": {
-                "size": 100,
-                "type": "point"
-            },
-            "width": 200,
-            "title": "Car Scatter",
             "encoding": {
                 "color": {
                     "field": "Cylinders",
@@ -25,13 +23,16 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": {
+                "size": 100,
+                "type": "point"
+            },
+            "title": "Car Scatter",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "bar",
-            "width": 200,
-            "title": "Car Histogram",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -45,13 +46,13 @@
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "bar",
+            "title": "Car Histogram",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "area",
-            "width": 200,
-            "title": "Car Streamgraph",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -64,22 +65,21 @@
                 },
                 "y": {
                     "aggregate": "count",
-                    "type": "quantitative",
                     "axis": null,
-                    "stack": "center"
+                    "stack": "center",
+                    "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "area",
+            "title": "Car Streamgraph",
+            "width": 200
         }
     ],
-    "config": {},
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
     "resolve": {
         "scale": {
             "color": "independent",
             "shape": "independent"
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    }
 }
diff --git a/tests/specs/config/fontCfg.vl b/tests/specs/config/fontCfg.vl
--- a/tests/specs/config/fontCfg.vl
+++ b/tests/specs/config/fontCfg.vl
@@ -1,18 +1,11 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "font": "Comic Sans MS"
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -30,5 +23,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/headerlabels.vl b/tests/specs/config/headerlabels.vl
--- a/tests/specs/config/headerlabels.vl
+++ b/tests/specs/config/headerlabels.vl
@@ -1,40 +1,40 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year === 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex === 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "labels": false
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
+            "field": "people",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year === 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex === 2 ? 'Female' : 'Male'"
+        }
+    ]
 }
diff --git a/tests/specs/config/mark1.vl b/tests/specs/config/mark1.vl
--- a/tests/specs/config/mark1.vl
+++ b/tests/specs/config/mark1.vl
@@ -1,13 +1,15 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "mark": {
+            "filled": false
+        }
+    },
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
     "hconcat": [
         {
-            "height": 200,
-            "mark": {
-                "size": 100,
-                "type": "point"
-            },
-            "width": 200,
-            "title": "Car Scatter",
             "encoding": {
                 "color": {
                     "field": "Cylinders",
@@ -25,13 +27,16 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": {
+                "size": 100,
+                "type": "point"
+            },
+            "title": "Car Scatter",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "bar",
-            "width": 200,
-            "title": "Car Histogram",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -45,13 +50,13 @@
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "bar",
+            "title": "Car Histogram",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "area",
-            "width": 200,
-            "title": "Car Streamgraph",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -64,26 +69,21 @@
                 },
                 "y": {
                     "aggregate": "count",
-                    "type": "quantitative",
                     "axis": null,
-                    "stack": "center"
+                    "stack": "center",
+                    "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "area",
+            "title": "Car Streamgraph",
+            "width": 200
         }
     ],
-    "config": {
-        "mark": {
-            "filled": false
-        }
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
     "resolve": {
         "scale": {
             "color": "independent",
             "shape": "independent"
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    }
 }
diff --git a/tests/specs/config/mark2.vl b/tests/specs/config/mark2.vl
--- a/tests/specs/config/mark2.vl
+++ b/tests/specs/config/mark2.vl
@@ -1,13 +1,28 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "area": {
+            "filled": false
+        },
+        "bar": {
+            "filled": true
+        },
+        "mark": {
+            "fill": "black",
+            "filled": true,
+            "opacity": 1
+        },
+        "point": {
+            "filled": true,
+            "stroke": "white",
+            "strokeOpacity": 0.2
+        }
+    },
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
     "hconcat": [
         {
-            "height": 200,
-            "mark": {
-                "size": 100,
-                "type": "point"
-            },
-            "width": 200,
-            "title": "Car Scatter",
             "encoding": {
                 "color": {
                     "field": "Cylinders",
@@ -25,13 +40,16 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": {
+                "size": 100,
+                "type": "point"
+            },
+            "title": "Car Scatter",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "bar",
-            "width": 200,
-            "title": "Car Histogram",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -45,13 +63,13 @@
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "bar",
+            "title": "Car Histogram",
+            "width": 200
         },
         {
-            "height": 200,
-            "mark": "area",
-            "width": 200,
-            "title": "Car Streamgraph",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -64,39 +82,21 @@
                 },
                 "y": {
                     "aggregate": "count",
-                    "type": "quantitative",
                     "axis": null,
-                    "stack": "center"
+                    "stack": "center",
+                    "type": "quantitative"
                 }
-            }
+            },
+            "height": 200,
+            "mark": "area",
+            "title": "Car Streamgraph",
+            "width": 200
         }
     ],
-    "config": {
-        "area": {
-            "filled": false
-        },
-        "mark": {
-            "opacity": 1,
-            "fill": "black",
-            "filled": true
-        },
-        "point": {
-            "stroke": "white",
-            "strokeOpacity": 0.2,
-            "filled": true
-        },
-        "bar": {
-            "filled": true
-        }
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
     "resolve": {
         "scale": {
             "color": "independent",
             "shape": "independent"
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    }
 }
diff --git a/tests/specs/config/padding.vl b/tests/specs/config/padding.vl
--- a/tests/specs/config/padding.vl
+++ b/tests/specs/config/padding.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "type": "fit"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingContent.vl b/tests/specs/config/paddingContent.vl
--- a/tests/specs/config/paddingContent.vl
+++ b/tests/specs/config/paddingContent.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "contains": "content"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingNone.vl b/tests/specs/config/paddingNone.vl
--- a/tests/specs/config/paddingNone.vl
+++ b/tests/specs/config/paddingNone.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "type": "none"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingPad.vl b/tests/specs/config/paddingPad.vl
--- a/tests/specs/config/paddingPad.vl
+++ b/tests/specs/config/paddingPad.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "type": "pad"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingPadding.vl b/tests/specs/config/paddingPadding.vl
--- a/tests/specs/config/paddingPadding.vl
+++ b/tests/specs/config/paddingPadding.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "contains": "padding"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingResize.vl b/tests/specs/config/paddingResize.vl
--- a/tests/specs/config/paddingResize.vl
+++ b/tests/specs/config/paddingResize.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "resize": true
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingx.vl b/tests/specs/config/paddingx.vl
--- a/tests/specs/config/paddingx.vl
+++ b/tests/specs/config/paddingx.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "type": "fit-x"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/paddingy.vl b/tests/specs/config/paddingy.vl
--- a/tests/specs/config/paddingy.vl
+++ b/tests/specs/config/paddingy.vl
@@ -1,5 +1,5 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "type": "fit-y"
@@ -11,16 +11,9 @@
             "top": 60
         }
     },
-    "mark": {
-        "size": 100,
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Car Scatter",
     "encoding": {
         "color": {
             "field": "Cylinders",
@@ -38,5 +31,12 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "size": 100,
+        "type": "point"
+    },
+    "title": "Car Scatter",
+    "width": 200
 }
diff --git a/tests/specs/config/titleCfg1.vl b/tests/specs/config/titleCfg1.vl
--- a/tests/specs/config/titleCfg1.vl
+++ b/tests/specs/config/titleCfg1.vl
@@ -1,21 +1,8 @@
 {
-    "height": 200,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": {
-        "text": [
-            "Car",
-            "Scatter"
-        ],
-        "subtitle": [
-            "A subtitle",
-            "also over two lines"
-        ]
-    },
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -25,5 +12,18 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": "circle",
+    "title": {
+        "subtitle": [
+            "A subtitle",
+            "also over two lines"
+        ],
+        "text": [
+            "Car",
+            "Scatter"
+        ]
+    },
+    "width": 200
 }
diff --git a/tests/specs/config/titleCfg2.vl b/tests/specs/config/titleCfg2.vl
--- a/tests/specs/config/titleCfg2.vl
+++ b/tests/specs/config/titleCfg2.vl
@@ -1,32 +1,8 @@
 {
-    "height": 200,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": {
-        "dx": -30,
-        "subtitleFontWeight": 900,
-        "subtitleFont": "serif",
-        "subtitleFontSize": 10,
-        "subtitleLineHeight": 18,
-        "dy": 10,
-        "text": [
-            "Car",
-            "Scatter"
-        ],
-        "subtitlePadding": 60,
-        "anchor": "end",
-        "subtitle": [
-            "A subtitle",
-            "also over two lines"
-        ],
-        "subtitleFontStyle": "italic",
-        "subtitleColor": "red",
-        "lineHeight": 20
-    },
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -36,5 +12,29 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": "circle",
+    "title": {
+        "anchor": "end",
+        "dx": -30,
+        "dy": 10,
+        "lineHeight": 20,
+        "subtitle": [
+            "A subtitle",
+            "also over two lines"
+        ],
+        "subtitleColor": "red",
+        "subtitleFont": "serif",
+        "subtitleFontSize": 10,
+        "subtitleFontStyle": "italic",
+        "subtitleFontWeight": 900,
+        "subtitleLineHeight": 18,
+        "subtitlePadding": 60,
+        "text": [
+            "Car",
+            "Scatter"
+        ]
+    },
+    "width": 200
 }
diff --git a/tests/specs/config/titleCfg3.vl b/tests/specs/config/titleCfg3.vl
--- a/tests/specs/config/titleCfg3.vl
+++ b/tests/specs/config/titleCfg3.vl
@@ -1,36 +1,23 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "title": {
+            "anchor": "end",
             "dx": -30,
-            "subtitleFontWeight": 900,
+            "dy": 10,
+            "lineHeight": 20,
+            "subtitleColor": "red",
             "subtitleFont": "serif",
             "subtitleFontSize": 10,
-            "subtitleLineHeight": 18,
-            "dy": 10,
-            "subtitlePadding": 60,
-            "anchor": "end",
             "subtitleFontStyle": "italic",
-            "subtitleColor": "red",
-            "lineHeight": 20
+            "subtitleFontWeight": 900,
+            "subtitleLineHeight": 18,
+            "subtitlePadding": 60
         }
     },
-    "mark": "circle",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": {
-        "text": [
-            "Car",
-            "Scatter"
-        ],
-        "subtitle": [
-            "A subtitle",
-            "also over two lines"
-        ]
-    },
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -40,5 +27,18 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": "circle",
+    "title": {
+        "subtitle": [
+            "A subtitle",
+            "also over two lines"
+        ],
+        "text": [
+            "Car",
+            "Scatter"
+        ]
+    },
+    "width": 200
 }
diff --git a/tests/specs/config/vbTest.vl b/tests/specs/config/vbTest.vl
--- a/tests/specs/config/vbTest.vl
+++ b/tests/specs/config/vbTest.vl
@@ -1,17 +1,30 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "yellow",
+    "config": {
+        "legend": {
+            "title": null
+        },
+        "style": {
+            "mySecondStyle": {
+                "fill": "black",
+                "stroke": "blue"
+            },
+            "myStyle": {
+                "fill": "red",
+                "fillOpacity": 0.1,
+                "strokeOpacity": 1
+            }
+        },
+        "view": {
+            "fill": "#feb"
+        }
+    },
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
     "hconcat": [
         {
-            "height": 200,
-            "mark": {
-                "size": 100,
-                "type": "point"
-            },
-            "width": 200,
-            "title": {
-                "color": "brown",
-                "text": "Car Scatter",
-                "fontSize": 12
-            },
             "encoding": {
                 "color": {
                     "field": "Cylinders",
@@ -29,25 +42,20 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "height": 200,
-            "mark": "bar",
-            "width": 200,
-            "view": {
-                "cornerRadius": 18,
-                "strokeWidth": 4,
-                "strokeCap": "round",
-                "strokeJoin": "bevel",
-                "stroke": "red",
-                "fill": "white",
-                "strokeDash": [
-                    10,
-                    10
-                ]
+            "mark": {
+                "size": 100,
+                "type": "point"
             },
-            "title": "Car Histogram",
+            "title": {
+                "color": "brown",
+                "fontSize": 12,
+                "text": "Car Scatter"
+            },
+            "width": 200
+        },
+        {
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -61,19 +69,25 @@
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "height": 200,
-            "mark": "area",
-            "width": 200,
+            "mark": "bar",
+            "title": "Car Histogram",
             "view": {
-                "style": [
-                    "myStyle",
-                    "mySecondStyle"
-                ]
+                "cornerRadius": 18,
+                "fill": "white",
+                "stroke": "red",
+                "strokeCap": "round",
+                "strokeDash": [
+                    10,
+                    10
+                ],
+                "strokeJoin": "bevel",
+                "strokeWidth": 4
             },
-            "title": "Car Streamgraph",
+            "width": 200
+        },
+        {
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -86,41 +100,27 @@
                 },
                 "y": {
                     "aggregate": "count",
-                    "type": "quantitative",
                     "axis": null,
-                    "stack": "center"
+                    "stack": "center",
+                    "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "config": {
-        "style": {
-            "mySecondStyle": {
-                "stroke": "blue",
-                "fill": "black"
             },
-            "myStyle": {
-                "fill": "red",
-                "strokeOpacity": 1,
-                "fillOpacity": 0.1
-            }
-        },
-        "view": {
-            "fill": "#feb"
-        },
-        "legend": {
-            "title": null
+            "height": 200,
+            "mark": "area",
+            "title": "Car Streamgraph",
+            "view": {
+                "style": [
+                    "myStyle",
+                    "mySecondStyle"
+                ]
+            },
+            "width": 200
         }
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
+    ],
     "resolve": {
         "scale": {
             "color": "independent",
             "shape": "independent"
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "background": "yellow"
+    }
 }
diff --git a/tests/specs/data/annotate1.vl b/tests/specs/data/annotate1.vl
--- a/tests/specs/data/annotate1.vl
+++ b/tests/specs/data/annotate1.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -23,10 +24,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "x": {
                     "field": "a",
@@ -36,14 +35,15 @@
                     "field": "b",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
+            "data": null,
             "mark": {
                 "text": "Test",
                 "type": "text"
-            },
-            "data": null
+            }
         }
     ]
 }
diff --git a/tests/specs/data/argmin_spaces.vl b/tests/specs/data/argmin_spaces.vl
--- a/tests/specs/data/argmin_spaces.vl
+++ b/tests/specs/data/argmin_spaces.vl
@@ -1,55 +1,55 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Place Rank": 1,
+                "Fighter Name": "liukang",
                 "Fighting Style": "tiger",
-                "Fighter Name": "liukang"
+                "Place Rank": 1
             },
             {
-                "Place Rank": 10,
+                "Fighter Name": "liukang",
                 "Fighting Style": "crane",
-                "Fighter Name": "liukang"
+                "Place Rank": 10
             },
             {
-                "Place Rank": 3,
+                "Fighter Name": "liukang",
                 "Fighting Style": "shaolin",
-                "Fighter Name": "liukang"
+                "Place Rank": 3
             },
             {
-                "Place Rank": 6,
+                "Fighter Name": "johnnycage",
                 "Fighting Style": "tiger",
-                "Fighter Name": "johnnycage"
+                "Place Rank": 6
             },
             {
-                "Place Rank": 5,
+                "Fighter Name": "johnnycage",
                 "Fighting Style": "crane",
-                "Fighter Name": "johnnycage"
+                "Place Rank": 5
             },
             {
-                "Place Rank": 4,
+                "Fighter Name": "johnnycage",
                 "Fighting Style": "shaolin",
-                "Fighter Name": "johnnycage"
+                "Place Rank": 4
             },
             {
-                "Place Rank": 8,
+                "Fighter Name": "raided",
                 "Fighting Style": "tiger",
-                "Fighter Name": "raided"
+                "Place Rank": 8
             },
             {
-                "Place Rank": 12,
+                "Fighter Name": "raiden",
                 "Fighting Style": "crane",
-                "Fighter Name": "raiden"
+                "Place Rank": 12
             },
             {
-                "Place Rank": 2,
+                "Fighter Name": "raiden",
                 "Fighting Style": "shaolin",
-                "Fighter Name": "raiden"
+                "Place Rank": 2
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "An example showing how to use argmin in tooltips with fields with spaces",
     "encoding": {
         "tooltip": [
             {
@@ -57,21 +57,21 @@
                 "type": "nominal"
             },
             {
-                "field": "Place Rank",
                 "aggregate": "min",
+                "field": "Place Rank",
                 "type": "quantitative"
             },
             {
-                "field": "Fighting Style",
                 "aggregate": {
                     "argmin": "Place Rank"
                 },
+                "field": "Fighting Style",
                 "type": "nominal"
             }
         ],
         "x": {
-            "field": "Place Rank",
             "aggregate": "min",
+            "field": "Place Rank",
             "type": "quantitative"
         },
         "y": {
@@ -79,5 +79,5 @@
             "type": "nominal"
         }
     },
-    "description": "An example showing how to use argmin in tooltips with fields with spaces"
+    "mark": "point"
 }
diff --git a/tests/specs/data/bin1.vl b/tests/specs/data/bin1.vl
--- a/tests/specs/data/bin1.vl
+++ b/tests/specs/data/bin1.vl
@@ -1,65 +1,65 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
+                "bin_end": 10,
                 "bin_start": 8,
-                "count": 7,
-                "bin_end": 10
+                "count": 7
             },
             {
+                "bin_end": 12,
                 "bin_start": 10,
-                "count": 29,
-                "bin_end": 12
+                "count": 29
             },
             {
+                "bin_end": 14,
                 "bin_start": 12,
-                "count": 71,
-                "bin_end": 14
+                "count": 71
             },
             {
+                "bin_end": 16,
                 "bin_start": 14,
-                "count": 127,
-                "bin_end": 16
+                "count": 127
             },
             {
+                "bin_end": 18,
                 "bin_start": 16,
-                "count": 94,
-                "bin_end": 18
+                "count": 94
             },
             {
+                "bin_end": 20,
                 "bin_start": 18,
-                "count": 54,
-                "bin_end": 20
+                "count": 54
             },
             {
+                "bin_end": 22,
                 "bin_start": 20,
-                "count": 17,
-                "bin_end": 22
+                "count": 17
             },
             {
+                "bin_end": 24,
                 "bin_start": 22,
-                "count": 5,
-                "bin_end": 24
+                "count": 5
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "x2": {
-            "field": "bin_end"
-        },
         "x": {
-            "field": "bin_start",
-            "bin": "binned",
-            "type": "quantitative",
             "axis": {
                 "tickMinStep": 2
-            }
+            },
+            "bin": "binned",
+            "field": "bin_start",
+            "type": "quantitative"
         },
+        "x2": {
+            "field": "bin_end"
+        },
         "y": {
             "field": "count",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/bin2.vl b/tests/specs/data/bin2.vl
--- a/tests/specs/data/bin2.vl
+++ b/tests/specs/data/bin2.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -94,17 +94,17 @@
             }
         ]
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
             "bin": true,
+            "field": "x",
             "type": "quantitative"
         },
         "y": {
             "aggregate": "count",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 300
 }
diff --git a/tests/specs/data/bin3.vl b/tests/specs/data/bin3.vl
--- a/tests/specs/data/bin3.vl
+++ b/tests/specs/data/bin3.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -217,19 +217,19 @@
             }
         ]
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "x",
             "bin": {
                 "anchor": 0.5
             },
+            "field": "x",
             "type": "quantitative"
         },
         "y": {
             "aggregate": "count",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 300
 }
diff --git a/tests/specs/data/data1.vl b/tests/specs/data/data1.vl
--- a/tests/specs/data/data1.vl
+++ b/tests/specs/data/data1.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -16,7 +16,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -26,5 +25,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data10.vl b/tests/specs/data/data10.vl
--- a/tests/specs/data/data10.vl
+++ b/tests/specs/data/data10.vl
@@ -1,19 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "name": "myData3"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "cat",
-            "type": "nominal"
-        },
-        "y": {
-            "field": "val",
-            "type": "quantitative"
-        }
-    },
     "datasets": {
         "myData1": [
             {
@@ -57,5 +46,16 @@
                 "val": 12
             }
         ]
-    }
+    },
+    "encoding": {
+        "x": {
+            "field": "cat",
+            "type": "nominal"
+        },
+        "y": {
+            "field": "val",
+            "type": "quantitative"
+        }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data2.vl b/tests/specs/data/data2.vl
--- a/tests/specs/data/data2.vl
+++ b/tests/specs/data/data2.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -16,7 +16,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -26,5 +25,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data3.vl b/tests/specs/data/data3.vl
--- a/tests/specs/data/data3.vl
+++ b/tests/specs/data/data3.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -16,7 +16,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -26,5 +25,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data4.vl b/tests/specs/data/data4.vl
--- a/tests/specs/data/data4.vl
+++ b/tests/specs/data/data4.vl
@@ -1,9 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "data/dataTest.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -13,5 +12,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data5.vl b/tests/specs/data/data5.vl
--- a/tests/specs/data/data5.vl
+++ b/tests/specs/data/data5.vl
@@ -1,9 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "data/dataTest.tsv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -13,5 +12,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data6.vl b/tests/specs/data/data6.vl
--- a/tests/specs/data/data6.vl
+++ b/tests/specs/data/data6.vl
@@ -1,13 +1,12 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "data/dataTest.csv",
         "format": {
-            "type": "dsv",
-            "delimiter": ","
-        }
+            "delimiter": ",",
+            "type": "dsv"
+        },
+        "url": "data/dataTest.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -17,5 +16,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data7.vl b/tests/specs/data/data7.vl
--- a/tests/specs/data/data7.vl
+++ b/tests/specs/data/data7.vl
@@ -1,9 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "data/dataTest.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -13,5 +12,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data8.vl b/tests/specs/data/data8.vl
--- a/tests/specs/data/data8.vl
+++ b/tests/specs/data/data8.vl
@@ -1,19 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "name": "myData1"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "cat",
-            "type": "nominal"
-        },
-        "y": {
-            "field": "val",
-            "type": "quantitative"
-        }
-    },
     "datasets": {
         "myData1": [
             {
@@ -57,5 +46,16 @@
                 "val": 12
             }
         ]
-    }
+    },
+    "encoding": {
+        "x": {
+            "field": "cat",
+            "type": "nominal"
+        },
+        "y": {
+            "field": "val",
+            "type": "quantitative"
+        }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/data9.vl b/tests/specs/data/data9.vl
--- a/tests/specs/data/data9.vl
+++ b/tests/specs/data/data9.vl
@@ -1,19 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "name": "myData2"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "cat",
-            "type": "nominal"
-        },
-        "y": {
-            "field": "val",
-            "type": "quantitative"
-        }
-    },
     "datasets": {
         "myData1": [
             {
@@ -57,5 +46,16 @@
                 "val": 12
             }
         ]
-    }
+    },
+    "encoding": {
+        "x": {
+            "field": "cat",
+            "type": "nominal"
+        },
+        "y": {
+            "field": "val",
+            "type": "quantitative"
+        }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/domain1.vl b/tests/specs/data/domain1.vl
--- a/tests/specs/data/domain1.vl
+++ b/tests/specs/data/domain1.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -23,7 +20,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -36,5 +32,9 @@
             },
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/data/domain2.vl b/tests/specs/data/domain2.vl
--- a/tests/specs/data/domain2.vl
+++ b/tests/specs/data/domain2.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -23,7 +20,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -40,5 +36,9 @@
             },
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/data/domain3.vl b/tests/specs/data/domain3.vl
--- a/tests/specs/data/domain3.vl
+++ b/tests/specs/data/domain3.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -23,7 +20,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -42,5 +38,9 @@
             },
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/data/filter1.vl b/tests/specs/data/filter1.vl
--- a/tests/specs/data/filter1.vl
+++ b/tests/specs/data/filter1.vl
@@ -1,10 +1,5 @@
 {
-    "transform": [
-        {
-            "filter": "datum.a == 'A' || datum.a == 'C' || datum.a == 'E'"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -45,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "a",
@@ -55,5 +49,11 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.a == 'A' || datum.a == 'C' || datum.a == 'E'"
+        }
+    ]
 }
diff --git a/tests/specs/data/filter2.vl b/tests/specs/data/filter2.vl
--- a/tests/specs/data/filter2.vl
+++ b/tests/specs/data/filter2.vl
@@ -1,29 +1,5 @@
 {
-    "transform": [
-        {
-            "filter": {
-                "or": [
-                    {
-                        "or": [
-                            {
-                                "equal": "A",
-                                "field": "a"
-                            },
-                            {
-                                "equal": "C",
-                                "field": "a"
-                            }
-                        ]
-                    },
-                    {
-                        "equal": "E",
-                        "field": "a"
-                    }
-                ]
-            }
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -64,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "a",
@@ -74,5 +49,30 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": {
+                "or": [
+                    {
+                        "or": [
+                            {
+                                "equal": "A",
+                                "field": "a"
+                            },
+                            {
+                                "equal": "C",
+                                "field": "a"
+                            }
+                        ]
+                    },
+                    {
+                        "equal": "E",
+                        "field": "a"
+                    }
+                ]
+            }
+        }
+    ]
 }
diff --git a/tests/specs/data/flatten1.vl b/tests/specs/data/flatten1.vl
--- a/tests/specs/data/flatten1.vl
+++ b/tests/specs/data/flatten1.vl
@@ -1,45 +1,32 @@
 {
-    "transform": [
-        {
-            "as": [
-                "quant",
-                "cat"
-            ],
-            "flatten": [
-                "foo",
-                "bar"
-            ]
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
+                "bar": [
+                    "A",
+                    "B"
+                ],
                 "foo": [
                     1,
                     2
                 ],
-                "key": "alpha",
-                "bar": [
-                    "A",
-                    "B"
-                ]
+                "key": "alpha"
             },
             {
+                "bar": [
+                    "C",
+                    "D"
+                ],
                 "foo": [
                     3,
                     4,
                     5
                 ],
-                "key": "beta",
-                "bar": [
-                    "C",
-                    "D"
-                ]
+                "key": "beta"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "key",
@@ -53,5 +40,18 @@
             "field": "cat",
             "type": "nominal"
         }
-    }
+    },
+    "mark": "circle",
+    "transform": [
+        {
+            "as": [
+                "quant",
+                "cat"
+            ],
+            "flatten": [
+                "foo",
+                "bar"
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/data/fold1.vl b/tests/specs/data/fold1.vl
--- a/tests/specs/data/fold1.vl
+++ b/tests/specs/data/fold1.vl
@@ -1,48 +1,48 @@
 {
-    "transform": [
-        {
-            "as": [
-                "k",
-                "v"
-            ],
-            "fold": [
-                "gold",
-                "silver"
-            ]
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "silver": 20,
                 "country": "USA",
-                "gold": 10
+                "gold": 10,
+                "silver": 20
             },
             {
-                "silver": 26,
                 "country": "Canada",
-                "gold": 7
+                "gold": 7,
+                "silver": 26
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "country",
             "type": "nominal"
         },
-        "x": {
-            "field": "country",
-            "type": "nominal"
-        },
         "column": {
             "field": "k",
             "type": "nominal"
         },
+        "x": {
+            "field": "country",
+            "type": "nominal"
+        },
         "y": {
             "field": "v",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "as": [
+                "k",
+                "v"
+            ],
+            "fold": [
+                "gold",
+                "silver"
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/data/geodata1.vl b/tests/specs/data/geodata1.vl
--- a/tests/specs/data/geodata1.vl
+++ b/tests/specs/data/geodata1.vl
@@ -1,24 +1,24 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": "geoshape",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json",
         "format": {
             "feature": "boroughs",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json"
     },
-    "width": 700,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "id",
             "type": "nominal"
         }
-    }
+    },
+    "height": 500,
+    "mark": "geoshape",
+    "width": 700
 }
diff --git a/tests/specs/data/geodata2.vl b/tests/specs/data/geodata2.vl
--- a/tests/specs/data/geodata2.vl
+++ b/tests/specs/data/geodata2.vl
@@ -1,12 +1,15 @@
 {
-    "height": 400,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": "geoshape",
     "data": {
+        "format": {
+            "property": "features",
+            "type": "json"
+        },
         "values": {
             "features": [
                 {
@@ -37,10 +40,10 @@
                         ],
                         "type": "Polygon"
                     },
-                    "type": "Feature",
                     "properties": {
                         "Region": "Southsville"
-                    }
+                    },
+                    "type": "Feature"
                 },
                 {
                     "geometry": {
@@ -70,31 +73,28 @@
                         ],
                         "type": "Polygon"
                     },
-                    "type": "Feature",
                     "properties": {
                         "Region": "Northerton"
-                    }
+                    },
+                    "type": "Feature"
                 }
             ],
             "type": "FeatureCollection"
-        },
-        "format": {
-            "property": "features",
-            "type": "json"
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic"
-    },
     "encoding": {
         "color": {
             "field": "properties.Region",
-            "type": "nominal",
             "legend": {
                 "title": null
-            }
+            },
+            "type": "nominal"
         }
-    }
+    },
+    "height": 400,
+    "mark": "geoshape",
+    "projection": {
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/data/impute1.vl b/tests/specs/data/impute1.vl
--- a/tests/specs/data/impute1.vl
+++ b/tests/specs/data/impute1.vl
@@ -1,15 +1,5 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "c"
-            ],
-            "value": 0,
-            "key": "a",
-            "impute": "b"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -49,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -66,5 +55,16 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "transform": [
+        {
+            "groupby": [
+                "c"
+            ],
+            "impute": "b",
+            "key": "a",
+            "value": 0
+        }
+    ]
 }
diff --git a/tests/specs/data/impute2.vl b/tests/specs/data/impute2.vl
--- a/tests/specs/data/impute2.vl
+++ b/tests/specs/data/impute2.vl
@@ -1,19 +1,5 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "c"
-            ],
-            "key": "a",
-            "method": "mean",
-            "frame": [
-                -2,
-                2
-            ],
-            "impute": "b"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -53,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -70,5 +55,20 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "transform": [
+        {
+            "frame": [
+                -2,
+                2
+            ],
+            "groupby": [
+                "c"
+            ],
+            "impute": "b",
+            "key": "a",
+            "method": "mean"
+        }
+    ]
 }
diff --git a/tests/specs/data/impute3.vl b/tests/specs/data/impute3.vl
--- a/tests/specs/data/impute3.vl
+++ b/tests/specs/data/impute3.vl
@@ -1,20 +1,5 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "c"
-            ],
-            "keyvals": {
-                "start": 1,
-                "step": 1,
-                "stop": 4
-            },
-            "value": 100,
-            "key": "a",
-            "impute": "b"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -54,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -71,5 +55,21 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "transform": [
+        {
+            "groupby": [
+                "c"
+            ],
+            "impute": "b",
+            "key": "a",
+            "keyvals": {
+                "start": 1,
+                "step": 1,
+                "stop": 4
+            },
+            "value": 100
+        }
+    ]
 }
diff --git a/tests/specs/data/impute4.vl b/tests/specs/data/impute4.vl
--- a/tests/specs/data/impute4.vl
+++ b/tests/specs/data/impute4.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -39,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -59,5 +58,6 @@
             },
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/data/impute5.vl b/tests/specs/data/impute5.vl
--- a/tests/specs/data/impute5.vl
+++ b/tests/specs/data/impute5.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -39,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -59,5 +58,6 @@
             },
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/data/impute6.vl b/tests/specs/data/impute6.vl
--- a/tests/specs/data/impute6.vl
+++ b/tests/specs/data/impute6.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -39,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -55,13 +54,14 @@
         "y": {
             "field": "b",
             "impute": {
-                "method": "mean",
                 "frame": [
                     -2,
                     2
-                ]
+                ],
+                "method": "mean"
             },
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/data/impute7.vl b/tests/specs/data/impute7.vl
--- a/tests/specs/data/impute7.vl
+++ b/tests/specs/data/impute7.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -39,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -62,5 +61,6 @@
             },
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/data/impute8.vl b/tests/specs/data/impute8.vl
--- a/tests/specs/data/impute8.vl
+++ b/tests/specs/data/impute8.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -39,7 +39,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "c",
@@ -64,5 +63,6 @@
             },
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/data/namedData1.vl b/tests/specs/data/namedData1.vl
--- a/tests/specs/data/namedData1.vl
+++ b/tests/specs/data/namedData1.vl
@@ -1,6 +1,7 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
+        "name": "source",
         "values": [
             {
                 "a": "A",
@@ -38,10 +39,8 @@
                 "a": "I",
                 "b": 52
             }
-        ],
-        "name": "source"
+        ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "a",
@@ -51,5 +50,6 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/namedData2.vl b/tests/specs/data/namedData2.vl
--- a/tests/specs/data/namedData2.vl
+++ b/tests/specs/data/namedData2.vl
@@ -1,10 +1,9 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "data/dataTest.tsv",
-        "name": "myName"
+        "name": "myName",
+        "url": "data/dataTest.tsv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -14,5 +13,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/namedData3.vl b/tests/specs/data/namedData3.vl
--- a/tests/specs/data/namedData3.vl
+++ b/tests/specs/data/namedData3.vl
@@ -1,10 +1,9 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "values": [],
-        "name": "source"
+        "name": "source",
+        "values": []
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -14,5 +13,6 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/data/null1.vl b/tests/specs/data/null1.vl
--- a/tests/specs/data/null1.vl
+++ b/tests/specs/data/null1.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -35,7 +32,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "x",
@@ -45,5 +41,9 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "point": true,
+        "type": "line"
     }
 }
diff --git a/tests/specs/data/pivot1.vl b/tests/specs/data/pivot1.vl
--- a/tests/specs/data/pivot1.vl
+++ b/tests/specs/data/pivot1.vl
@@ -1,39 +1,30 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "repeat": [
         "gold",
         "silver"
     ],
     "spec": {
-        "transform": [
-            {
-                "groupby": [
-                    "country"
-                ],
-                "value": "count",
-                "pivot": "medalType"
-            }
-        ],
-        "mark": "bar",
         "data": {
             "values": [
                 {
-                    "country": "USA",
                     "count": 10,
+                    "country": "USA",
                     "medalType": "gold"
                 },
                 {
-                    "country": "USA",
                     "count": 20,
+                    "country": "USA",
                     "medalType": "silver"
                 },
                 {
-                    "country": "Canada",
                     "count": 7,
+                    "country": "Canada",
                     "medalType": "gold"
                 },
                 {
-                    "country": "Canada",
                     "count": 26,
+                    "country": "Canada",
                     "medalType": "silver"
                 }
             ]
@@ -53,7 +44,16 @@
                 },
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+        },
+        "mark": "bar",
+        "transform": [
+            {
+                "groupby": [
+                    "country"
+                ],
+                "pivot": "medalType",
+                "value": "count"
+            }
+        ]
+    }
 }
diff --git a/tests/specs/data/pivotDocs.vl b/tests/specs/data/pivotDocs.vl
--- a/tests/specs/data/pivotDocs.vl
+++ b/tests/specs/data/pivotDocs.vl
@@ -1,49 +1,39 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "city"
-            ],
-            "value": "temperature",
-            "pivot": "year"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
+                "city": "Bristol",
                 "temperature": 12,
-                "year": 2017,
-                "city": "Bristol"
+                "year": 2017
             },
             {
+                "city": "Bristol",
                 "temperature": 14,
-                "year": 2018,
-                "city": "Bristol"
+                "year": 2018
             },
             {
+                "city": "Sheffield",
                 "temperature": 11,
-                "year": 2017,
-                "city": "Sheffield"
+                "year": 2017
             },
             {
+                "city": "Sheffield",
                 "temperature": 13,
-                "year": 2018,
-                "city": "Sheffield"
+                "year": 2018
             },
             {
+                "city": "Glasgow",
                 "temperature": 7,
-                "year": 2017,
-                "city": "Glasgow"
+                "year": 2017
             },
             {
+                "city": "Glasgow",
                 "temperature": 10,
-                "year": 2018,
-                "city": "Glasgow"
+                "year": 2018
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "2017",
@@ -53,5 +43,15 @@
             "field": "city",
             "type": "nominal"
         }
-    }
+    },
+    "mark": "circle",
+    "transform": [
+        {
+            "groupby": [
+                "city"
+            ],
+            "pivot": "year",
+            "value": "temperature"
+        }
+    ]
 }
diff --git a/tests/specs/data/sample1.vl b/tests/specs/data/sample1.vl
--- a/tests/specs/data/sample1.vl
+++ b/tests/specs/data/sample1.vl
@@ -1,7 +1,10 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
     "hconcat": [
         {
-            "mark": "point",
             "encoding": {
                 "x": {
                     "field": "Horsepower",
@@ -11,15 +14,10 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point"
         },
         {
-            "transform": [
-                {
-                    "sample": 200
-                }
-            ],
-            "mark": "point",
             "encoding": {
                 "x": {
                     "field": "Horsepower",
@@ -29,11 +27,13 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point",
+            "transform": [
+                {
+                    "sample": 200
+                }
+            ]
         }
-    ],
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/data/sequence1.vl b/tests/specs/data/sequence1.vl
--- a/tests/specs/data/sequence1.vl
+++ b/tests/specs/data/sequence1.vl
@@ -1,11 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "v",
-            "calculate": "sin(datum.data)"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "start": 0,
@@ -13,7 +7,6 @@
             "stop": 12.7
         }
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "data",
@@ -23,5 +16,12 @@
             "field": "v",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "transform": [
+        {
+            "as": "v",
+            "calculate": "sin(datum.data)"
+        }
+    ]
 }
diff --git a/tests/specs/data/sequence2.vl b/tests/specs/data/sequence2.vl
--- a/tests/specs/data/sequence2.vl
+++ b/tests/specs/data/sequence2.vl
@@ -1,11 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "v",
-            "calculate": "sin(datum.u)"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "u",
@@ -14,7 +8,6 @@
             "stop": 12.7
         }
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "u",
@@ -24,5 +17,12 @@
             "field": "v",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "transform": [
+        {
+            "as": "v",
+            "calculate": "sin(datum.u)"
+        }
+    ]
 }
diff --git a/tests/specs/fillstroke/combined1.vl b/tests/specs/fillstroke/combined1.vl
--- a/tests/specs/fillstroke/combined1.vl
+++ b/tests/specs/fillstroke/combined1.vl
@@ -1,49 +1,43 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
             "type": "nominal"
         },
+        "fill": {},
         "size": {
             "value": 2000
         },
         "stroke": {},
-        "fill": {},
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -52,5 +46,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/combined2.vl b/tests/specs/fillstroke/combined2.vl
--- a/tests/specs/fillstroke/combined2.vl
+++ b/tests/specs/fillstroke/combined2.vl
@@ -1,44 +1,41 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
             "type": "nominal"
         },
+        "fill": {
+            "value": "red"
+        },
         "size": {
             "value": 2000
         },
@@ -46,9 +43,6 @@
             "field": "y",
             "type": "ordinal"
         },
-        "fill": {
-            "value": "red"
-        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -57,5 +51,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/combined3.vl b/tests/specs/fillstroke/combined3.vl
--- a/tests/specs/fillstroke/combined3.vl
+++ b/tests/specs/fillstroke/combined3.vl
@@ -1,54 +1,48 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
             "type": "nominal"
         },
+        "fill": {
+            "field": "y",
+            "type": "ordinal"
+        },
         "size": {
             "value": 2000
         },
         "stroke": {
             "value": "red"
         },
-        "fill": {
-            "field": "y",
-            "type": "ordinal"
-        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -57,5 +51,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/default.vl b/tests/specs/fillstroke/default.vl
--- a/tests/specs/fillstroke/default.vl
+++ b/tests/specs/fillstroke/default.vl
@@ -1,39 +1,33 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
@@ -50,5 +44,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/fill1.vl b/tests/specs/fillstroke/fill1.vl
--- a/tests/specs/fillstroke/fill1.vl
+++ b/tests/specs/fillstroke/fill1.vl
@@ -1,48 +1,42 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
             "type": "nominal"
         },
+        "fill": {},
         "size": {
             "value": 2000
         },
-        "fill": {},
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -51,5 +45,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/fill2.vl b/tests/specs/fillstroke/fill2.vl
--- a/tests/specs/fillstroke/fill2.vl
+++ b/tests/specs/fillstroke/fill2.vl
@@ -1,51 +1,45 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
             "type": "nominal"
         },
-        "size": {
-            "value": 2000
-        },
         "fill": {
             "field": "y",
             "type": "ordinal"
         },
+        "size": {
+            "value": 2000
+        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -54,5 +48,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/fill3.vl b/tests/specs/fillstroke/fill3.vl
--- a/tests/specs/fillstroke/fill3.vl
+++ b/tests/specs/fillstroke/fill3.vl
@@ -1,50 +1,44 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
             "type": "nominal"
         },
-        "size": {
-            "value": 2000
-        },
         "fill": {
             "value": "red"
         },
+        "size": {
+            "value": 2000
+        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -53,5 +47,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/fillopacity.vl b/tests/specs/fillstroke/fillopacity.vl
--- a/tests/specs/fillstroke/fillopacity.vl
+++ b/tests/specs/fillstroke/fillopacity.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -12,22 +12,22 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "x": {
-            "field": "a",
-            "type": "ordinal",
-            "axis": {
-                "labelAngle": 0
-            }
-        },
         "fillOpacity": {
             "field": "b",
             "type": "quantitative"
         },
+        "x": {
+            "axis": {
+                "labelAngle": 0
+            },
+            "field": "a",
+            "type": "ordinal"
+        },
         "y": {
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/fillstroke/geo1.vl b/tests/specs/fillstroke/geo1.vl
--- a/tests/specs/fillstroke/geo1.vl
+++ b/tests/specs/fillstroke/geo1.vl
@@ -1,6 +1,5 @@
 {
-    "height": 300,
-    "mark": "geoshape",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": {
             "features": [
@@ -58,6 +57,7 @@
             "type": "FeatureCollection"
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "height": 300,
+    "mark": "geoshape",
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/geo2.vl b/tests/specs/fillstroke/geo2.vl
--- a/tests/specs/fillstroke/geo2.vl
+++ b/tests/specs/fillstroke/geo2.vl
@@ -1,6 +1,5 @@
 {
-    "height": 300,
-    "mark": "geoshape",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": {
             "features": [
@@ -58,12 +57,13 @@
             "type": "FeatureCollection"
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "features.geometry.type",
             "type": "nominal"
         }
-    }
+    },
+    "height": 300,
+    "mark": "geoshape",
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/gradient1.vl b/tests/specs/fillstroke/gradient1.vl
--- a/tests/specs/fillstroke/gradient1.vl
+++ b/tests/specs/fillstroke/gradient1.vl
@@ -1,50 +1,25 @@
 {
-    "mark": {
-        "color": {
-            "x2": 1,
-            "y1": 0,
-            "stops": [
-                {
-                    "color": "red",
-                    "offset": 0
-                },
-                {
-                    "color": "orange",
-                    "offset": 0.4
-                },
-                {
-                    "color": "blue",
-                    "offset": 1
-                }
-            ],
-            "gradient": "linear",
-            "y2": 1,
-            "x1": 1
-        },
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "value": 10,
-                "cat": "a"
+                "cat": "a",
+                "value": 10
             },
             {
-                "value": 5,
-                "cat": "b"
+                "cat": "b",
+                "value": 5
             },
             {
-                "value": 20,
-                "cat": "c"
+                "cat": "c",
+                "value": 20
             },
             {
-                "value": 8,
-                "cat": "d"
+                "cat": "d",
+                "value": 8
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -54,5 +29,30 @@
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "color": {
+            "gradient": "linear",
+            "stops": [
+                {
+                    "color": "red",
+                    "offset": 0
+                },
+                {
+                    "color": "orange",
+                    "offset": 0.4
+                },
+                {
+                    "color": "blue",
+                    "offset": 1
+                }
+            ],
+            "x1": 1,
+            "x2": 1,
+            "y1": 0,
+            "y2": 1
+        },
+        "type": "bar"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/gradient2.vl b/tests/specs/fillstroke/gradient2.vl
--- a/tests/specs/fillstroke/gradient2.vl
+++ b/tests/specs/fillstroke/gradient2.vl
@@ -1,46 +1,25 @@
 {
-    "mark": {
-        "color": {
-            "x2": 1,
-            "y1": 1,
-            "stops": [
-                {
-                    "color": "red",
-                    "offset": 0
-                },
-                {
-                    "color": "blue",
-                    "offset": 1
-                }
-            ],
-            "gradient": "linear",
-            "y2": 1,
-            "x1": 0
-        },
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "value": 10,
-                "cat": "a"
+                "cat": "a",
+                "value": 10
             },
             {
-                "value": 5,
-                "cat": "b"
+                "cat": "b",
+                "value": 5
             },
             {
-                "value": 20,
-                "cat": "c"
+                "cat": "c",
+                "value": 20
             },
             {
-                "value": 8,
-                "cat": "d"
+                "cat": "d",
+                "value": 8
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -50,5 +29,26 @@
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "color": {
+            "gradient": "linear",
+            "stops": [
+                {
+                    "color": "red",
+                    "offset": 0
+                },
+                {
+                    "color": "blue",
+                    "offset": 1
+                }
+            ],
+            "x1": 0,
+            "x2": 1,
+            "y1": 1,
+            "y2": 1
+        },
+        "type": "bar"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/gradient3.vl b/tests/specs/fillstroke/gradient3.vl
--- a/tests/specs/fillstroke/gradient3.vl
+++ b/tests/specs/fillstroke/gradient3.vl
@@ -1,46 +1,25 @@
 {
-    "mark": {
-        "color": {
-            "x2": 1,
-            "y1": 0,
-            "stops": [
-                {
-                    "color": "blue",
-                    "offset": 0
-                },
-                {
-                    "color": "red",
-                    "offset": 1
-                }
-            ],
-            "gradient": "linear",
-            "y2": 1,
-            "x1": 0
-        },
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "value": 10,
-                "cat": "a"
+                "cat": "a",
+                "value": 10
             },
             {
-                "value": 5,
-                "cat": "b"
+                "cat": "b",
+                "value": 5
             },
             {
-                "value": 20,
-                "cat": "c"
+                "cat": "c",
+                "value": 20
             },
             {
-                "value": 8,
-                "cat": "d"
+                "cat": "d",
+                "value": 8
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -50,5 +29,26 @@
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "color": {
+            "gradient": "linear",
+            "stops": [
+                {
+                    "color": "blue",
+                    "offset": 0
+                },
+                {
+                    "color": "red",
+                    "offset": 1
+                }
+            ],
+            "x1": 0,
+            "x2": 1,
+            "y1": 0,
+            "y2": 1
+        },
+        "type": "bar"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/gradientr1.vl b/tests/specs/fillstroke/gradientr1.vl
--- a/tests/specs/fillstroke/gradientr1.vl
+++ b/tests/specs/fillstroke/gradientr1.vl
@@ -1,47 +1,25 @@
 {
-    "mark": {
-        "color": {
-            "stops": [
-                {
-                    "color": "red",
-                    "offset": 0
-                },
-                {
-                    "color": "white",
-                    "offset": 0.5
-                },
-                {
-                    "color": "blue",
-                    "offset": 1
-                }
-            ],
-            "gradient": "radial"
-        },
-        "size": 1000,
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "value": 10,
-                "cat": "a"
+                "cat": "a",
+                "value": 10
             },
             {
-                "value": 5,
-                "cat": "b"
+                "cat": "b",
+                "value": 5
             },
             {
-                "value": 20,
-                "cat": "c"
+                "cat": "c",
+                "value": 20
             },
             {
-                "value": 8,
-                "cat": "d"
+                "cat": "d",
+                "value": 8
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -51,5 +29,27 @@
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "color": {
+            "gradient": "radial",
+            "stops": [
+                {
+                    "color": "red",
+                    "offset": 0
+                },
+                {
+                    "color": "white",
+                    "offset": 0.5
+                },
+                {
+                    "color": "blue",
+                    "offset": 1
+                }
+            ]
+        },
+        "size": 1000,
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/gradientr2.vl b/tests/specs/fillstroke/gradientr2.vl
--- a/tests/specs/fillstroke/gradientr2.vl
+++ b/tests/specs/fillstroke/gradientr2.vl
@@ -1,51 +1,25 @@
 {
-    "mark": {
-        "color": {
-            "x2": 0.5,
-            "y1": 0.5,
-            "stops": [
-                {
-                    "color": "red",
-                    "offset": 0
-                },
-                {
-                    "color": "white",
-                    "offset": 0.5
-                },
-                {
-                    "color": "blue",
-                    "offset": 1
-                }
-            ],
-            "gradient": "radial",
-            "y2": 0.5,
-            "x1": 0.5
-        },
-        "size": 1000,
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "value": 10,
-                "cat": "a"
+                "cat": "a",
+                "value": 10
             },
             {
-                "value": 5,
-                "cat": "b"
+                "cat": "b",
+                "value": 5
             },
             {
-                "value": 20,
-                "cat": "c"
+                "cat": "c",
+                "value": 20
             },
             {
-                "value": 8,
-                "cat": "d"
+                "cat": "d",
+                "value": 8
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -55,5 +29,31 @@
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "color": {
+            "gradient": "radial",
+            "stops": [
+                {
+                    "color": "red",
+                    "offset": 0
+                },
+                {
+                    "color": "white",
+                    "offset": 0.5
+                },
+                {
+                    "color": "blue",
+                    "offset": 1
+                }
+            ],
+            "x1": 0.5,
+            "x2": 0.5,
+            "y1": 0.5,
+            "y2": 0.5
+        },
+        "size": 1000,
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/gradientr3.vl b/tests/specs/fillstroke/gradientr3.vl
--- a/tests/specs/fillstroke/gradientr3.vl
+++ b/tests/specs/fillstroke/gradientr3.vl
@@ -1,53 +1,25 @@
 {
-    "mark": {
-        "color": {
-            "x2": 0.8,
-            "y1": 0.7,
-            "r2": 0.4,
-            "stops": [
-                {
-                    "color": "red",
-                    "offset": 0
-                },
-                {
-                    "color": "white",
-                    "offset": 0.5
-                },
-                {
-                    "color": "blue",
-                    "offset": 1
-                }
-            ],
-            "gradient": "radial",
-            "y2": 0.3,
-            "r1": 0.2,
-            "x1": 0.2
-        },
-        "size": 1000,
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "value": 10,
-                "cat": "a"
+                "cat": "a",
+                "value": 10
             },
             {
-                "value": 5,
-                "cat": "b"
+                "cat": "b",
+                "value": 5
             },
             {
-                "value": 20,
-                "cat": "c"
+                "cat": "c",
+                "value": 20
             },
             {
-                "value": 8,
-                "cat": "d"
+                "cat": "d",
+                "value": 8
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -57,5 +29,33 @@
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "color": {
+            "gradient": "radial",
+            "r1": 0.2,
+            "r2": 0.4,
+            "stops": [
+                {
+                    "color": "red",
+                    "offset": 0
+                },
+                {
+                    "color": "white",
+                    "offset": 0.5
+                },
+                {
+                    "color": "blue",
+                    "offset": 1
+                }
+            ],
+            "x1": 0.2,
+            "x2": 0.8,
+            "y1": 0.7,
+            "y2": 0.3
+        },
+        "size": 1000,
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/hrounded.vl b/tests/specs/fillstroke/hrounded.vl
--- a/tests/specs/fillstroke/hrounded.vl
+++ b/tests/specs/fillstroke/hrounded.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "cornerRadiusEnd": 4,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -43,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "b",
@@ -53,5 +49,9 @@
             "field": "a",
             "type": "ordinal"
         }
+    },
+    "mark": {
+        "cornerRadiusEnd": 4,
+        "type": "bar"
     }
 }
diff --git a/tests/specs/fillstroke/stroke1.vl b/tests/specs/fillstroke/stroke1.vl
--- a/tests/specs/fillstroke/stroke1.vl
+++ b/tests/specs/fillstroke/stroke1.vl
@@ -1,39 +1,33 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
@@ -51,5 +45,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/stroke2.vl b/tests/specs/fillstroke/stroke2.vl
--- a/tests/specs/fillstroke/stroke2.vl
+++ b/tests/specs/fillstroke/stroke2.vl
@@ -1,39 +1,33 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
@@ -54,5 +48,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/stroke3.vl b/tests/specs/fillstroke/stroke3.vl
--- a/tests/specs/fillstroke/stroke3.vl
+++ b/tests/specs/fillstroke/stroke3.vl
@@ -1,39 +1,33 @@
 {
-    "height": 200,
-    "mark": {
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 36,
                 "val": 4,
+                "x": 36,
                 "y": 4
             }
         ]
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "cat",
@@ -53,5 +47,11 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "stroke": "black",
+        "type": "circle"
+    },
+    "width": 200
 }
diff --git a/tests/specs/fillstroke/strokedash1.vl b/tests/specs/fillstroke/strokedash1.vl
--- a/tests/specs/fillstroke/strokedash1.vl
+++ b/tests/specs/fillstroke/strokedash1.vl
@@ -1,14 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 1,
-        "opacity": 0.6,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 350,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "strokeDash": {
             "field": "symbol",
@@ -22,5 +16,11 @@
             "field": "price",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "opacity": 0.6,
+        "strokeWidth": 1,
+        "type": "line"
+    },
+    "width": 350
 }
diff --git a/tests/specs/fillstroke/strokedash2.vl b/tests/specs/fillstroke/strokedash2.vl
--- a/tests/specs/fillstroke/strokedash2.vl
+++ b/tests/specs/fillstroke/strokedash2.vl
@@ -1,14 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 1,
-        "opacity": 0.6,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 350,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "strokeDash": {
             "field": "symbol",
@@ -53,5 +47,11 @@
             "field": "price",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "opacity": 0.6,
+        "strokeWidth": 1,
+        "type": "line"
+    },
+    "width": 350
 }
diff --git a/tests/specs/fillstroke/strokedash3.vl b/tests/specs/fillstroke/strokedash3.vl
--- a/tests/specs/fillstroke/strokedash3.vl
+++ b/tests/specs/fillstroke/strokedash3.vl
@@ -1,13 +1,54 @@
 {
-    "config": {
-        "line": {
-            "strokeWidth": 1,
-            "color": "orange",
-            "opacity": 0.6
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "concat": [
+        {
+            "encoding": {
+                "strokeDash": {
+                    "field": "cat",
+                    "type": "nominal"
+                },
+                "x": {
+                    "field": "x",
+                    "type": "quantitative"
+                },
+                "y": {
+                    "field": "y",
+                    "type": "quantitative"
+                }
+            },
+            "mark": "line",
+            "title": "Nominal",
+            "width": 200
         },
+        {
+            "encoding": {
+                "strokeDash": {
+                    "field": "cat",
+                    "type": "ordinal"
+                },
+                "x": {
+                    "field": "x",
+                    "type": "quantitative"
+                },
+                "y": {
+                    "field": "y",
+                    "type": "quantitative"
+                }
+            },
+            "mark": "line",
+            "title": "Ordinal",
+            "width": 200
+        }
+    ],
+    "config": {
         "axis": {
             "grid": false,
             "title": null
+        },
+        "line": {
+            "color": "orange",
+            "opacity": 0.6,
+            "strokeWidth": 1
         }
     },
     "data": {
@@ -118,46 +159,5 @@
         "scale": {
             "strokeDash": "independent"
         }
-    },
-    "concat": [
-        {
-            "mark": "line",
-            "width": 200,
-            "title": "Nominal",
-            "encoding": {
-                "strokeDash": {
-                    "field": "cat",
-                    "type": "nominal"
-                },
-                "x": {
-                    "field": "x",
-                    "type": "quantitative"
-                },
-                "y": {
-                    "field": "y",
-                    "type": "quantitative"
-                }
-            }
-        },
-        {
-            "mark": "line",
-            "width": 200,
-            "title": "Ordinal",
-            "encoding": {
-                "strokeDash": {
-                    "field": "cat",
-                    "type": "ordinal"
-                },
-                "x": {
-                    "field": "x",
-                    "type": "quantitative"
-                },
-                "y": {
-                    "field": "y",
-                    "type": "quantitative"
-                }
-            }
-        }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    }
 }
diff --git a/tests/specs/fillstroke/strokedash4.vl b/tests/specs/fillstroke/strokedash4.vl
--- a/tests/specs/fillstroke/strokedash4.vl
+++ b/tests/specs/fillstroke/strokedash4.vl
@@ -1,129 +1,7 @@
 {
-    "config": {
-        "line": {
-            "strokeWidth": 1,
-            "color": "orange",
-            "opacity": 0.6
-        },
-        "axis": {
-            "grid": false,
-            "title": null
-        }
-    },
-    "data": {
-        "values": [
-            {
-                "cat": 1,
-                "x": 0,
-                "y": 100
-            },
-            {
-                "cat": 1,
-                "x": 1,
-                "y": 100
-            },
-            {
-                "cat": 2,
-                "x": 0,
-                "y": 90
-            },
-            {
-                "cat": 2,
-                "x": 1,
-                "y": 90
-            },
-            {
-                "cat": 3,
-                "x": 0,
-                "y": 80
-            },
-            {
-                "cat": 3,
-                "x": 1,
-                "y": 80
-            },
-            {
-                "cat": 4,
-                "x": 0,
-                "y": 70
-            },
-            {
-                "cat": 4,
-                "x": 1,
-                "y": 70
-            },
-            {
-                "cat": 5,
-                "x": 0,
-                "y": 60
-            },
-            {
-                "cat": 5,
-                "x": 1,
-                "y": 60
-            },
-            {
-                "cat": 6,
-                "x": 0,
-                "y": 50
-            },
-            {
-                "cat": 6,
-                "x": 1,
-                "y": 50
-            },
-            {
-                "cat": 7,
-                "x": 0,
-                "y": 40
-            },
-            {
-                "cat": 7,
-                "x": 1,
-                "y": 40
-            },
-            {
-                "cat": 8,
-                "x": 0,
-                "y": 30
-            },
-            {
-                "cat": 8,
-                "x": 1,
-                "y": 30
-            },
-            {
-                "cat": 9,
-                "x": 0,
-                "y": 20
-            },
-            {
-                "cat": 9,
-                "x": 1,
-                "y": 20
-            },
-            {
-                "cat": 10,
-                "x": 0,
-                "y": 10
-            },
-            {
-                "cat": 10,
-                "x": 1,
-                "y": 10
-            }
-        ]
-    },
-    "resolve": {
-        "scale": {
-            "strokeDash": "independent"
-        }
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "concat": [
         {
-            "mark": "line",
-            "width": 200,
-            "title": "Nominal",
             "encoding": {
                 "strokeDash": {
                     "field": "cat",
@@ -195,12 +73,12 @@
                     "field": "y",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line",
+            "title": "Nominal",
+            "width": 200
         },
         {
-            "mark": "line",
-            "width": 200,
-            "title": "Ordinal",
             "encoding": {
                 "strokeDash": {
                     "field": "cat",
@@ -272,8 +150,130 @@
                     "field": "y",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line",
+            "title": "Ordinal",
+            "width": 200
         }
     ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "config": {
+        "axis": {
+            "grid": false,
+            "title": null
+        },
+        "line": {
+            "color": "orange",
+            "opacity": 0.6,
+            "strokeWidth": 1
+        }
+    },
+    "data": {
+        "values": [
+            {
+                "cat": 1,
+                "x": 0,
+                "y": 100
+            },
+            {
+                "cat": 1,
+                "x": 1,
+                "y": 100
+            },
+            {
+                "cat": 2,
+                "x": 0,
+                "y": 90
+            },
+            {
+                "cat": 2,
+                "x": 1,
+                "y": 90
+            },
+            {
+                "cat": 3,
+                "x": 0,
+                "y": 80
+            },
+            {
+                "cat": 3,
+                "x": 1,
+                "y": 80
+            },
+            {
+                "cat": 4,
+                "x": 0,
+                "y": 70
+            },
+            {
+                "cat": 4,
+                "x": 1,
+                "y": 70
+            },
+            {
+                "cat": 5,
+                "x": 0,
+                "y": 60
+            },
+            {
+                "cat": 5,
+                "x": 1,
+                "y": 60
+            },
+            {
+                "cat": 6,
+                "x": 0,
+                "y": 50
+            },
+            {
+                "cat": 6,
+                "x": 1,
+                "y": 50
+            },
+            {
+                "cat": 7,
+                "x": 0,
+                "y": 40
+            },
+            {
+                "cat": 7,
+                "x": 1,
+                "y": 40
+            },
+            {
+                "cat": 8,
+                "x": 0,
+                "y": 30
+            },
+            {
+                "cat": 8,
+                "x": 1,
+                "y": 30
+            },
+            {
+                "cat": 9,
+                "x": 0,
+                "y": 20
+            },
+            {
+                "cat": 9,
+                "x": 1,
+                "y": 20
+            },
+            {
+                "cat": 10,
+                "x": 0,
+                "y": 10
+            },
+            {
+                "cat": 10,
+                "x": 1,
+                "y": 10
+            }
+        ]
+    },
+    "resolve": {
+        "scale": {
+            "strokeDash": "independent"
+        }
+    }
 }
diff --git a/tests/specs/fillstroke/strokedash5.vl b/tests/specs/fillstroke/strokedash5.vl
--- a/tests/specs/fillstroke/strokedash5.vl
+++ b/tests/specs/fillstroke/strokedash5.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "y0",
-            "calculate": "abs(sin(datum.x0+random()))"
-        },
-        {
-            "as": "x",
-            "calculate": "datum.x0 %10"
-        },
-        {
-            "as": "cat",
-            "calculate": "floor(datum.x0 / 10)"
-        },
-        {
-            "as": "y",
-            "calculate": "datum.y0 + datum.cat"
-        }
-    ],
-    "height": 300,
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "x0",
@@ -27,9 +8,6 @@
             "stop": 100
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Dash scale 0.2",
     "encoding": {
         "strokeDash": {
             "field": "cat",
@@ -94,18 +72,40 @@
             "type": "ordinal"
         },
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "line",
+    "title": "Dash scale 0.2",
+    "transform": [
+        {
+            "as": "y0",
+            "calculate": "abs(sin(datum.x0+random()))"
+        },
+        {
+            "as": "x",
+            "calculate": "datum.x0 %10"
+        },
+        {
+            "as": "cat",
+            "calculate": "floor(datum.x0 / 10)"
+        },
+        {
+            "as": "y",
+            "calculate": "datum.y0 + datum.cat"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/strokedash6.vl b/tests/specs/fillstroke/strokedash6.vl
--- a/tests/specs/fillstroke/strokedash6.vl
+++ b/tests/specs/fillstroke/strokedash6.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "y0",
-            "calculate": "abs(sin(datum.x0+random()))"
-        },
-        {
-            "as": "x",
-            "calculate": "datum.x0 %10"
-        },
-        {
-            "as": "cat",
-            "calculate": "floor(datum.x0 / 10)"
-        },
-        {
-            "as": "y",
-            "calculate": "datum.y0 + datum.cat"
-        }
-    ],
-    "height": 300,
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "x0",
@@ -27,9 +8,6 @@
             "stop": 100
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Dash scale 0.5",
     "encoding": {
         "strokeDash": {
             "field": "cat",
@@ -94,18 +72,40 @@
             "type": "ordinal"
         },
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "line",
+    "title": "Dash scale 0.5",
+    "transform": [
+        {
+            "as": "y0",
+            "calculate": "abs(sin(datum.x0+random()))"
+        },
+        {
+            "as": "x",
+            "calculate": "datum.x0 %10"
+        },
+        {
+            "as": "cat",
+            "calculate": "floor(datum.x0 / 10)"
+        },
+        {
+            "as": "y",
+            "calculate": "datum.y0 + datum.cat"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/strokedash7.vl b/tests/specs/fillstroke/strokedash7.vl
--- a/tests/specs/fillstroke/strokedash7.vl
+++ b/tests/specs/fillstroke/strokedash7.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "y0",
-            "calculate": "abs(sin(datum.x0+random()))"
-        },
-        {
-            "as": "x",
-            "calculate": "datum.x0 %10"
-        },
-        {
-            "as": "cat",
-            "calculate": "floor(datum.x0 / 10)"
-        },
-        {
-            "as": "y",
-            "calculate": "datum.y0 + datum.cat"
-        }
-    ],
-    "height": 300,
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "x0",
@@ -27,9 +8,6 @@
             "stop": 100
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Dash scale 1.0",
     "encoding": {
         "strokeDash": {
             "field": "cat",
@@ -94,18 +72,40 @@
             "type": "ordinal"
         },
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "line",
+    "title": "Dash scale 1.0",
+    "transform": [
+        {
+            "as": "y0",
+            "calculate": "abs(sin(datum.x0+random()))"
+        },
+        {
+            "as": "x",
+            "calculate": "datum.x0 %10"
+        },
+        {
+            "as": "cat",
+            "calculate": "floor(datum.x0 / 10)"
+        },
+        {
+            "as": "y",
+            "calculate": "datum.y0 + datum.cat"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/strokedash8.vl b/tests/specs/fillstroke/strokedash8.vl
--- a/tests/specs/fillstroke/strokedash8.vl
+++ b/tests/specs/fillstroke/strokedash8.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "y0",
-            "calculate": "abs(sin(datum.x0+random()))"
-        },
-        {
-            "as": "x",
-            "calculate": "datum.x0 %10"
-        },
-        {
-            "as": "cat",
-            "calculate": "floor(datum.x0 / 10)"
-        },
-        {
-            "as": "y",
-            "calculate": "datum.y0 + datum.cat"
-        }
-    ],
-    "height": 300,
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "x0",
@@ -27,9 +8,6 @@
             "stop": 100
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Dash scale 2.0",
     "encoding": {
         "strokeDash": {
             "field": "cat",
@@ -94,18 +72,40 @@
             "type": "ordinal"
         },
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "line",
+    "title": "Dash scale 2.0",
+    "transform": [
+        {
+            "as": "y0",
+            "calculate": "abs(sin(datum.x0+random()))"
+        },
+        {
+            "as": "x",
+            "calculate": "datum.x0 %10"
+        },
+        {
+            "as": "cat",
+            "calculate": "floor(datum.x0 / 10)"
+        },
+        {
+            "as": "y",
+            "calculate": "datum.y0 + datum.cat"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/strokedash9.vl b/tests/specs/fillstroke/strokedash9.vl
--- a/tests/specs/fillstroke/strokedash9.vl
+++ b/tests/specs/fillstroke/strokedash9.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "y0",
-            "calculate": "abs(sin(datum.x0+random()))"
-        },
-        {
-            "as": "x",
-            "calculate": "datum.x0 %10"
-        },
-        {
-            "as": "cat",
-            "calculate": "floor(datum.x0 / 10)"
-        },
-        {
-            "as": "y",
-            "calculate": "datum.y0 + datum.cat"
-        }
-    ],
-    "height": 300,
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "x0",
@@ -27,9 +8,6 @@
             "stop": 100
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Dash scale 4.0",
     "encoding": {
         "strokeDash": {
             "field": "cat",
@@ -94,18 +72,40 @@
             "type": "ordinal"
         },
         "x": {
-            "field": "x",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "x",
+            "type": "quantitative"
         },
         "y": {
-            "field": "y",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "field": "y",
+            "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "line",
+    "title": "Dash scale 4.0",
+    "transform": [
+        {
+            "as": "y0",
+            "calculate": "abs(sin(datum.x0+random()))"
+        },
+        {
+            "as": "x",
+            "calculate": "datum.x0 %10"
+        },
+        {
+            "as": "cat",
+            "calculate": "floor(datum.x0 / 10)"
+        },
+        {
+            "as": "y",
+            "calculate": "datum.y0 + datum.cat"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/fillstroke/vrounded.vl b/tests/specs/fillstroke/vrounded.vl
--- a/tests/specs/fillstroke/vrounded.vl
+++ b/tests/specs/fillstroke/vrounded.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "cornerRadiusEnd": 4,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -43,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "a",
@@ -53,5 +49,9 @@
             "field": "b",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "cornerRadiusEnd": 4,
+        "type": "bar"
     }
 }
diff --git a/tests/specs/gallery/advanced/advanced1.vl b/tests/specs/gallery/advanced/advanced1.vl
--- a/tests/specs/gallery/advanced/advanced1.vl
+++ b/tests/specs/gallery/advanced/advanced1.vl
@@ -1,64 +1,64 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "sum",
-                    "as": "TotalTime",
-                    "field": "Time"
-                }
-            ],
-            "frame": [
-                null,
-                null
-            ]
-        },
-        {
-            "as": "PercentOfTotal",
-            "calculate": "datum.Time/datum.TotalTime * 100"
-        }
-    ],
-    "height": {
-        "step": 12
-    },
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Time": 8,
-                "Activity": "Sleeping"
+                "Activity": "Sleeping",
+                "Time": 8
             },
             {
-                "Time": 2,
-                "Activity": "Eating"
+                "Activity": "Eating",
+                "Time": 2
             },
             {
-                "Time": 4,
-                "Activity": "TV"
+                "Activity": "TV",
+                "Time": 4
             },
             {
-                "Time": 8,
-                "Activity": "Work"
+                "Activity": "Work",
+                "Time": 8
             },
             {
-                "Time": 2,
-                "Activity": "Exercise"
+                "Activity": "Exercise",
+                "Time": 2
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Calculation of percentage of total",
     "encoding": {
         "x": {
-            "field": "PercentOfTotal",
-            "type": "quantitative",
             "axis": {
                 "title": "% of total time"
-            }
+            },
+            "field": "PercentOfTotal",
+            "type": "quantitative"
         },
         "y": {
             "field": "Activity",
             "type": "nominal"
         }
     },
-    "description": "Calculation of percentage of total"
+    "height": {
+        "step": 12
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "frame": [
+                null,
+                null
+            ],
+            "window": [
+                {
+                    "as": "TotalTime",
+                    "field": "Time",
+                    "op": "sum"
+                }
+            ]
+        },
+        {
+            "as": "PercentOfTotal",
+            "calculate": "datum.Time/datum.TotalTime * 100"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/advanced2.vl b/tests/specs/gallery/advanced/advanced2.vl
--- a/tests/specs/gallery/advanced/advanced2.vl
+++ b/tests/specs/gallery/advanced/advanced2.vl
@@ -1,59 +1,59 @@
 {
-    "transform": [
-        {
-            "filter": "isValid(datum.IMDB_Rating)"
-        },
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "AverageRating",
-                    "field": "IMDB_Rating"
-                }
-            ],
-            "frame": [
-                null,
-                null
-            ]
-        },
-        {
-            "filter": "(datum.IMDB_Rating - datum.AverageRating) > 2.5"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Calculation of difference from average",
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "x": {
-                    "field": "IMDB_Rating",
-                    "type": "quantitative",
                     "axis": {
                         "title": "IMDB Rating"
-                    }
+                    },
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
                 },
                 "y": {
                     "field": "Title",
                     "type": "ordinal"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": {
-                "color": "red",
-                "type": "rule"
-            },
             "encoding": {
                 "x": {
-                    "field": "AverageRating",
                     "aggregate": "mean",
+                    "field": "AverageRating",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "type": "rule"
             }
         }
     ],
-    "description": "Calculation of difference from average"
+    "transform": [
+        {
+            "filter": "isValid(datum.IMDB_Rating)"
+        },
+        {
+            "frame": [
+                null,
+                null
+            ],
+            "window": [
+                {
+                    "as": "AverageRating",
+                    "field": "IMDB_Rating",
+                    "op": "mean"
+                }
+            ]
+        },
+        {
+            "filter": "(datum.IMDB_Rating - datum.AverageRating) > 2.5"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/advanced3.vl b/tests/specs/gallery/advanced/advanced3.vl
--- a/tests/specs/gallery/advanced/advanced3.vl
+++ b/tests/specs/gallery/advanced/advanced3.vl
@@ -1,64 +1,35 @@
 {
-    "transform": [
-        {
-            "filter": "isValid(datum.IMDB_Rating)"
-        },
-        {
-            "as": "year",
-            "field": "Release_Date",
-            "timeUnit": "year"
-        },
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "AverageYearRating",
-                    "field": "IMDB_Rating"
-                }
-            ],
-            "groupby": [
-                "year"
-            ],
-            "frame": [
-                null,
-                null
-            ]
-        },
-        {
-            "filter": "(datum.IMDB_Rating - datum.AverageYearRating) > 2.5"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json",
         "format": {
             "parse": {
                 "Release_Date": "date:'%d-%b-%y'"
             }
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Calculation of difference from annual average",
     "layer": [
         {
-            "mark": {
-                "type": "bar",
-                "clip": true
-            },
             "encoding": {
                 "x": {
-                    "field": "IMDB_Rating",
-                    "type": "quantitative",
                     "axis": {
                         "title": "IMDB Rating"
-                    }
+                    },
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
                 },
                 "y": {
                     "field": "Title",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "clip": true,
+                "type": "bar"
             }
         },
         {
-            "mark": "tick",
             "encoding": {
                 "color": {
                     "value": "red"
@@ -71,8 +42,37 @@
                     "field": "Title",
                     "type": "ordinal"
                 }
-            }
+            },
+            "mark": "tick"
         }
     ],
-    "description": "Calculation of difference from annual average"
+    "transform": [
+        {
+            "filter": "isValid(datum.IMDB_Rating)"
+        },
+        {
+            "as": "year",
+            "field": "Release_Date",
+            "timeUnit": "year"
+        },
+        {
+            "frame": [
+                null,
+                null
+            ],
+            "groupby": [
+                "year"
+            ],
+            "window": [
+                {
+                    "as": "AverageYearRating",
+                    "field": "IMDB_Rating",
+                    "op": "mean"
+                }
+            ]
+        },
+        {
+            "filter": "(datum.IMDB_Rating - datum.AverageYearRating) > 2.5"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/advanced4.vl b/tests/specs/gallery/advanced/advanced4.vl
--- a/tests/specs/gallery/advanced/advanced4.vl
+++ b/tests/specs/gallery/advanced/advanced4.vl
@@ -1,4 +1,27 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "description": "A scatterplot showing each movie in the database and the difference from the average movie rating.",
+    "encoding": {
+        "x": {
+            "field": "Release_Date",
+            "type": "temporal"
+        },
+        "y": {
+            "axis": {
+                "title": "Residual"
+            },
+            "field": "RatingDelta",
+            "type": "quantitative"
+        }
+    },
+    "mark": {
+        "opacity": 0.3,
+        "strokeWidth": 0.3,
+        "type": "point"
+    },
     "transform": [
         {
             "filter": "isValid(datum.IMDB_Rating)"
@@ -15,44 +38,21 @@
             }
         },
         {
+            "frame": [
+                null,
+                null
+            ],
             "window": [
                 {
-                    "op": "mean",
                     "as": "AverageRating",
-                    "field": "IMDB_Rating"
+                    "field": "IMDB_Rating",
+                    "op": "mean"
                 }
-            ],
-            "frame": [
-                null,
-                null
             ]
         },
         {
             "as": "RatingDelta",
             "calculate": "datum.IMDB_Rating - datum.AverageRating"
         }
-    ],
-    "mark": {
-        "strokeWidth": 0.3,
-        "opacity": 0.3,
-        "type": "point"
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "Release_Date",
-            "type": "temporal"
-        },
-        "y": {
-            "field": "RatingDelta",
-            "type": "quantitative",
-            "axis": {
-                "title": "Residual"
-            }
-        }
-    },
-    "description": "A scatterplot showing each movie in the database and the difference from the average movie rating."
+    ]
 }
diff --git a/tests/specs/gallery/advanced/advanced5.vl b/tests/specs/gallery/advanced/advanced5.vl
--- a/tests/specs/gallery/advanced/advanced5.vl
+++ b/tests/specs/gallery/advanced/advanced5.vl
@@ -1,113 +1,82 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "rank"
-                }
-            ],
-            "groupby": [
-                "matchday"
-            ],
-            "sort": [
-                {
-                    "field": "point",
-                    "order": "descending"
-                },
-                {
-                    "field": "diff",
-                    "order": "descending"
-                }
-            ]
-        }
-    ],
-    "mark": {
-        "orient": "vertical",
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "diff": -1,
-                "point": 0,
                 "matchday": 1,
+                "point": 0,
                 "team": "Germany"
             },
             {
                 "diff": 1,
-                "point": 3,
                 "matchday": 1,
+                "point": 3,
                 "team": "Mexico"
             },
             {
                 "diff": -1,
-                "point": 0,
                 "matchday": 1,
+                "point": 0,
                 "team": "South Korea"
             },
             {
                 "diff": 1,
-                "point": 3,
                 "matchday": 1,
+                "point": 3,
                 "team": "Sweden"
             },
             {
                 "diff": 0,
-                "point": 3,
                 "matchday": 2,
+                "point": 3,
                 "team": "Germany"
             },
             {
                 "diff": 2,
-                "point": 6,
                 "matchday": 2,
+                "point": 6,
                 "team": "Mexico"
             },
             {
                 "diff": -2,
-                "point": 0,
                 "matchday": 2,
+                "point": 0,
                 "team": "South Korea"
             },
             {
                 "diff": 0,
-                "point": 3,
                 "matchday": 2,
+                "point": 3,
                 "team": "Sweden"
             },
             {
                 "diff": -2,
-                "point": 3,
                 "matchday": 3,
+                "point": 3,
                 "team": "Germany"
             },
             {
                 "diff": -1,
-                "point": 6,
                 "matchday": 3,
+                "point": 6,
                 "team": "Mexico"
             },
             {
                 "diff": 0,
-                "point": 3,
                 "matchday": 3,
+                "point": 3,
                 "team": "South Korea"
             },
             {
                 "diff": 3,
-                "point": 6,
                 "matchday": 3,
+                "point": 6,
                 "team": "Sweden"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": {
-        "fontStyle": "italic",
-        "text": "World Cup 2018: Group F Rankings",
-        "frame": "bounds"
-    },
+    "description": "Line chart showing ranks over time for thw World Cup 2018 Group F teams",
     "encoding": {
         "color": {
             "field": "team",
@@ -136,5 +105,36 @@
             "type": "ordinal"
         }
     },
-    "description": "Line chart showing ranks over time for thw World Cup 2018 Group F teams"
+    "mark": {
+        "orient": "vertical",
+        "type": "line"
+    },
+    "title": {
+        "fontStyle": "italic",
+        "frame": "bounds",
+        "text": "World Cup 2018: Group F Rankings"
+    },
+    "transform": [
+        {
+            "groupby": [
+                "matchday"
+            ],
+            "sort": [
+                {
+                    "field": "point",
+                    "order": "descending"
+                },
+                {
+                    "field": "diff",
+                    "order": "descending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "rank"
+                }
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/advanced6.vl b/tests/specs/gallery/advanced/advanced6.vl
--- a/tests/specs/gallery/advanced/advanced6.vl
+++ b/tests/specs/gallery/advanced/advanced6.vl
@@ -1,53 +1,5 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "sum",
-                    "as": "sum",
-                    "field": "amount"
-                }
-            ]
-        },
-        {
-            "window": [
-                {
-                    "op": "lead",
-                    "as": "lead",
-                    "field": "label"
-                }
-            ]
-        },
-        {
-            "as": "lead",
-            "calculate": "datum.lead === null ? datum.label : datum.lead"
-        },
-        {
-            "as": "previous_sum",
-            "calculate": "datum.label === 'End' ? 0 : datum.sum - datum.amount"
-        },
-        {
-            "as": "amount",
-            "calculate": "datum.label === 'End' ? datum.sum : datum.amount"
-        },
-        {
-            "as": "text_amount",
-            "calculate": "(datum.label !== 'Begin' && datum.label !== 'End' && datum.amount > 0 ? '+' : '') + datum.amount"
-        },
-        {
-            "as": "center",
-            "calculate": "(datum.sum + datum.previous_sum) / 2"
-        },
-        {
-            "as": "sum_dec",
-            "calculate": "datum.sum < datum.previous_sum ? datum.sum : ''"
-        },
-        {
-            "as": "sum_inc",
-            "calculate": "datum.sum > datum.previous_sum ? datum.sum : ''"
-        }
-    ],
-    "height": 450,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -108,47 +60,47 @@
             }
         ]
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Waterfall chart of monthly profit and loss",
+    "encoding": {
+        "x": {
+            "field": "label",
+            "sort": null,
+            "title": "Months",
+            "type": "ordinal"
+        }
+    },
+    "height": 450,
     "layer": [
         {
-            "mark": {
-                "size": 45,
-                "type": "bar"
-            },
             "encoding": {
                 "color": {
-                    "value": "#93c4aa",
                     "condition": [
                         {
-                            "value": "#f7e0b6",
-                            "test": "datum.label === 'Begin' || datum.label === 'End'"
+                            "test": "datum.label === 'Begin' || datum.label === 'End'",
+                            "value": "#f7e0b6"
                         },
                         {
-                            "value": "#f78a64",
-                            "test": "datum.sum < datum.previous_sum"
+                            "test": "datum.sum < datum.previous_sum",
+                            "value": "#f78a64"
                         }
-                    ]
-                },
-                "y2": {
-                    "field": "sum"
+                    ],
+                    "value": "#93c4aa"
                 },
                 "y": {
                     "field": "previous_sum",
                     "title": "Amount",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "sum"
                 }
+            },
+            "mark": {
+                "size": 45,
+                "type": "bar"
             }
         },
         {
-            "mark": {
-                "x2Offset": 22.5,
-                "strokeWidth": 2,
-                "color": "#404040",
-                "opacity": 1,
-                "xOffset": -22.5,
-                "type": "rule"
-            },
             "encoding": {
                 "x2": {
                     "field": "lead"
@@ -157,15 +109,17 @@
                     "field": "sum",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "#404040",
+                "opacity": 1,
+                "strokeWidth": 2,
+                "type": "rule",
+                "x2Offset": 22.5,
+                "xOffset": -22.5
             }
         },
         {
-            "mark": {
-                "dy": -8,
-                "color": "#404040",
-                "type": "text",
-                "fontWeight": "bold"
-            },
             "encoding": {
                 "text": {
                     "field": "sum_inc",
@@ -175,16 +129,15 @@
                     "field": "sum_inc",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "#404040",
+                "dy": -8,
+                "fontWeight": "bold",
+                "type": "text"
             }
         },
         {
-            "mark": {
-                "dy": 8,
-                "color": "#404040",
-                "type": "text",
-                "baseline": "top",
-                "fontWeight": "bold"
-            },
             "encoding": {
                 "text": {
                     "field": "sum_dec",
@@ -194,21 +147,23 @@
                     "field": "sum_dec",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "baseline": "top",
+                "color": "#404040",
+                "dy": 8,
+                "fontWeight": "bold",
+                "type": "text"
             }
         },
         {
-            "mark": {
-                "type": "text",
-                "baseline": "middle",
-                "fontWeight": "bold"
-            },
             "encoding": {
                 "color": {
-                    "value": "white",
                     "condition": {
-                        "value": "#725a30",
-                        "test": "datum.label === 'Begin' || datum.label === 'End'"
-                    }
+                        "test": "datum.label === 'Begin' || datum.label === 'End'",
+                        "value": "#725a30"
+                    },
+                    "value": "white"
                 },
                 "text": {
                     "field": "text_amount",
@@ -218,16 +173,61 @@
                     "field": "center",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "baseline": "middle",
+                "fontWeight": "bold",
+                "type": "text"
             }
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "label",
-            "sort": null,
-            "title": "Months",
-            "type": "ordinal"
+    "transform": [
+        {
+            "window": [
+                {
+                    "as": "sum",
+                    "field": "amount",
+                    "op": "sum"
+                }
+            ]
+        },
+        {
+            "window": [
+                {
+                    "as": "lead",
+                    "field": "label",
+                    "op": "lead"
+                }
+            ]
+        },
+        {
+            "as": "lead",
+            "calculate": "datum.lead === null ? datum.label : datum.lead"
+        },
+        {
+            "as": "previous_sum",
+            "calculate": "datum.label === 'End' ? 0 : datum.sum - datum.amount"
+        },
+        {
+            "as": "amount",
+            "calculate": "datum.label === 'End' ? datum.sum : datum.amount"
+        },
+        {
+            "as": "text_amount",
+            "calculate": "(datum.label !== 'Begin' && datum.label !== 'End' && datum.amount > 0 ? '+' : '') + datum.amount"
+        },
+        {
+            "as": "center",
+            "calculate": "(datum.sum + datum.previous_sum) / 2"
+        },
+        {
+            "as": "sum_dec",
+            "calculate": "datum.sum < datum.previous_sum ? datum.sum : ''"
+        },
+        {
+            "as": "sum_inc",
+            "calculate": "datum.sum > datum.previous_sum ? datum.sum : ''"
         }
-    },
-    "description": "Waterfall chart of monthly profit and loss"
+    ],
+    "width": 800
 }
diff --git a/tests/specs/gallery/advanced/advanced7.vl b/tests/specs/gallery/advanced/advanced7.vl
--- a/tests/specs/gallery/advanced/advanced7.vl
+++ b/tests/specs/gallery/advanced/advanced7.vl
@@ -1,34 +1,34 @@
 {
-    "transform": [
-        {
-            "from": {
-                "data": {
-                    "url": "https://vega.github.io/vega-lite/data/lookup_people.csv"
-                },
-                "key": "name",
-                "fields": [
-                    "age",
-                    "height"
-                ]
-            },
-            "lookup": "person"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/lookup_groups.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Using the lookup transform to combine data",
     "encoding": {
         "x": {
             "field": "group",
             "type": "ordinal"
         },
         "y": {
-            "field": "age",
             "aggregate": "mean",
+            "field": "age",
             "type": "quantitative"
         }
     },
-    "description": "Using the lookup transform to combine data"
+    "mark": "bar",
+    "transform": [
+        {
+            "from": {
+                "data": {
+                    "url": "https://vega.github.io/vega-lite/data/lookup_people.csv"
+                },
+                "fields": [
+                    "age",
+                    "height"
+                ],
+                "key": "name"
+            },
+            "lookup": "person"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/advanced8.vl b/tests/specs/gallery/advanced/advanced8.vl
--- a/tests/specs/gallery/advanced/advanced8.vl
+++ b/tests/specs/gallery/advanced/advanced8.vl
@@ -1,86 +1,43 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "count",
-                    "as": "index"
-                }
-            ]
-        },
-        {
-            "fold": [
-                "petalLength",
-                "petalWidth",
-                "sepalLength",
-                "sepalWidth"
-            ]
-        },
-        {
-            "groupby": [
-                "key"
-            ],
-            "joinaggregate": [
-                {
-                    "op": "min",
-                    "as": "min",
-                    "field": "value"
-                },
-                {
-                    "op": "max",
-                    "as": "max",
-                    "field": "value"
-                }
-            ]
-        },
-        {
-            "as": "normVal",
-            "calculate": "(datum.value - datum.min) / (datum.max-datum.min)"
-        },
-        {
-            "as": "mid",
-            "calculate": "(datum.min + datum.max) / 2"
-        }
-    ],
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axisX": {
+            "domain": false,
+            "labelAngle": 0,
+            "tickColor": "#ccc"
+        },
         "style": {
+            "label": {
+                "align": "right",
+                "baseline": "middle",
+                "dx": -5,
+                "tooltip": null
+            },
             "tick": {
                 "orient": "horizontal",
                 "tooltip": null
-            },
-            "label": {
-                "dx": -5,
-                "tooltip": null,
-                "align": "right",
-                "baseline": "middle"
             }
         },
         "view": {
             "stroke": null
-        },
-        "axisX": {
-            "labelAngle": 0,
-            "domain": false,
-            "tickColor": "#ccc"
         }
     },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/iris.json"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Parallel coordinates plot with manual generation of parallel axes",
+    "height": 300,
     "layer": [
         {
-            "mark": {
-                "opacity": 0.3,
-                "type": "line"
-            },
             "encoding": {
                 "color": {
                     "field": "species",
                     "type": "nominal"
                 },
+                "detail": {
+                    "field": "index",
+                    "type": "nominal"
+                },
                 "tooltip": [
                     {
                         "field": "petalLength",
@@ -103,45 +60,41 @@
                     "field": "key",
                     "type": "nominal"
                 },
-                "detail": {
-                    "field": "index",
-                    "type": "nominal"
-                },
                 "y": {
+                    "axis": null,
                     "field": "normVal",
-                    "type": "quantitative",
-                    "axis": null
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "opacity": 0.3,
+                "type": "line"
             }
         },
         {
-            "mark": {
-                "color": "#ccc",
-                "type": "rule"
-            },
             "encoding": {
-                "x": {
-                    "field": "key",
-                    "type": "nominal",
-                    "axis": {
-                        "title": null
-                    }
-                },
                 "detail": {
                     "aggregate": "count",
                     "type": "quantitative"
+                },
+                "x": {
+                    "axis": {
+                        "title": null
+                    },
+                    "field": "key",
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "color": "#ccc",
+                "type": "rule"
             }
         },
         {
-            "mark": {
-                "style": "label",
-                "type": "text"
-            },
             "encoding": {
                 "text": {
-                    "field": "max",
                     "aggregate": "max",
+                    "field": "max",
                     "type": "quantitative"
                 },
                 "x": {
@@ -151,17 +104,17 @@
                 "y": {
                     "value": 0
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "label",
                 "type": "text"
-            },
+            }
+        },
+        {
             "encoding": {
                 "text": {
-                    "field": "mid",
                     "aggregate": "min",
+                    "field": "mid",
                     "type": "quantitative"
                 },
                 "x": {
@@ -171,17 +124,17 @@
                 "y": {
                     "value": 150
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "label",
                 "type": "text"
-            },
+            }
+        },
+        {
             "encoding": {
                 "text": {
-                    "field": "min",
                     "aggregate": "min",
+                    "field": "min",
                     "type": "quantitative"
                 },
                 "x": {
@@ -191,8 +144,55 @@
                 "y": {
                     "value": "height"
                 }
+            },
+            "mark": {
+                "style": "label",
+                "type": "text"
             }
         }
     ],
-    "description": "Parallel coordinates plot with manual generation of parallel axes"
+    "transform": [
+        {
+            "window": [
+                {
+                    "as": "index",
+                    "op": "count"
+                }
+            ]
+        },
+        {
+            "fold": [
+                "petalLength",
+                "petalWidth",
+                "sepalLength",
+                "sepalWidth"
+            ]
+        },
+        {
+            "groupby": [
+                "key"
+            ],
+            "joinaggregate": [
+                {
+                    "as": "min",
+                    "field": "value",
+                    "op": "min"
+                },
+                {
+                    "as": "max",
+                    "field": "value",
+                    "op": "max"
+                }
+            ]
+        },
+        {
+            "as": "normVal",
+            "calculate": "(datum.value - datum.min) / (datum.max-datum.min)"
+        },
+        {
+            "as": "mid",
+            "calculate": "(datum.min + datum.max) / 2"
+        }
+    ],
+    "width": 600
 }
diff --git a/tests/specs/gallery/advanced/advanced9.vl b/tests/specs/gallery/advanced/advanced9.vl
--- a/tests/specs/gallery/advanced/advanced9.vl
+++ b/tests/specs/gallery/advanced/advanced9.vl
@@ -1,15 +1,15 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Production budget of the film with highest US Gross in each major genre.",
     "encoding": {
         "x": {
-            "field": "Production_Budget",
             "aggregate": {
                 "argmax": "US_Gross"
             },
+            "field": "Production_Budget",
             "type": "quantitative"
         },
         "y": {
@@ -17,5 +17,5 @@
             "type": "nominal"
         }
     },
-    "description": "Production budget of the film with highest US Gross in each major genre."
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/advanced/benchmark.vl b/tests/specs/gallery/advanced/benchmark.vl
--- a/tests/specs/gallery/advanced/benchmark.vl
+++ b/tests/specs/gallery/advanced/benchmark.vl
@@ -1,306 +1,6 @@
 {
-    "height": 300,
-    "width": 500,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "layer": [
-        {
-            "transform": [
-                {
-                    "window": [
-                        {
-                            "op": "row_number",
-                            "as": "row"
-                        }
-                    ]
-                },
-                {
-                    "as": "fps",
-                    "calculate": "1000/datum.data"
-                },
-                {
-                    "as": "system",
-                    "calculate": "'Falcon'"
-                }
-            ],
-            "mark": "line",
-            "data": {
-                "name": "falcon"
-            }
-        },
-        {
-            "transform": [
-                {
-                    "window": [
-                        {
-                            "op": "row_number",
-                            "as": "row"
-                        }
-                    ]
-                },
-                {
-                    "as": "fps",
-                    "calculate": "1000/datum.data"
-                },
-                {
-                    "as": "system",
-                    "calculate": "'Square Crossfilter (3M)'"
-                }
-            ],
-            "mark": "line",
-            "data": {
-                "name": "square"
-            }
-        }
-    ],
-    "encoding": {
-        "color": {
-            "field": "system",
-            "type": "nominal",
-            "legend": {
-                "orient": "bottom-right",
-                "title": "System"
-            }
-        },
-        "size": {
-            "value": 1
-        },
-        "x": {
-            "field": "row",
-            "scale": {
-                "nice": false
-            },
-            "type": "quantitative",
-            "axis": {
-                "grid": false,
-                "title": "Trial"
-            }
-        },
-        "y": {
-            "field": "fps",
-            "scale": {
-                "type": "log"
-            },
-            "type": "quantitative",
-            "axis": {
-                "grid": false,
-                "title": "Frames per Second (fps)"
-            }
-        }
-    },
-    "description": "Line chart to show benchmarking results.",
     "datasets": {
-        "square": [
-            24.200000762939453,
-            17.899999618530273,
-            15.800000190734863,
-            58.400001525878906,
-            151,
-            2523.10009765625,
-            245.3000030517578,
-            136,
-            72.30000305175781,
-            55.70000076293945,
-            42.400001525878906,
-            37.70000076293945,
-            30.100000381469727,
-            30.100000381469727,
-            21.799999237060547,
-            20.600000381469727,
-            21.799999237060547,
-            17.600000381469727,
-            18.200000762939453,
-            21,
-            941.7000122070313,
-            177.39999389648438,
-            2821.800048828125,
-            359.20001220703125,
-            318,
-            217.10000610351563,
-            126,
-            69,
-            57.79999923706055,
-            45.29999923706055,
-            35.599998474121094,
-            29.100000381469727,
-            23.799999237060547,
-            44.20000076293945,
-            17.700000762939453,
-            17.700000762939453,
-            15.699999809265137,
-            27.799999237060547,
-            22.799999237060547,
-            3853.60009765625,
-            91.5999984741211,
-            181.39999389648438,
-            476.29998779296875,
-            265.8999938964844,
-            254.60000610351563,
-            2583.199951171875,
-            124.80000305175781,
-            73.19999694824219,
-            56.400001525878906,
-            48.70000076293945,
-            41.599998474121094,
-            21.100000381469727,
-            20.299999237060547,
-            21.299999237060547,
-            18.299999237060547,
-            17.100000381469727,
-            19.5,
-            828.2000122070313,
-            162.1999969482422,
-            217.89999389648438,
-            205.5,
-            197.60000610351563,
-            2249.800048828125,
-            103.0999984741211,
-            71.69999694824219,
-            57.599998474121094,
-            41.400001525878906,
-            34.5,
-            22,
-            20.5,
-            21.700000762939453,
-            18.299999237060547,
-            17.299999237060547,
-            19.399999618530273,
-            666.7999877929688,
-            214.89999389648438,
-            212.3000030517578,
-            125.80000305175781,
-            67.69999694824219,
-            56.099998474121094,
-            45.79999923706055,
-            38.29999923706055,
-            33,
-            35.400001525878906,
-            22.700000762939453,
-            19.399999618530273,
-            19.899999618530273,
-            24.100000381469727,
-            19.299999237060547,
-            21.299999237060547,
-            3508.699951171875,
-            204.10000610351563,
-            125.4000015258789,
-            65.30000305175781,
-            60.79999923706055,
-            44.099998474121094,
-            36.29999923706055,
-            30.5,
-            28.600000381469727,
-            16.5,
-            18.600000381469727,
-            23.700000762939453,
-            22.299999237060547,
-            17.600000381469727,
-            19.200000762939453,
-            448.79998779296875,
-            124.4000015258789,
-            66.5999984741211,
-            53.5,
-            51,
-            45.20000076293945,
-            28.399999618530273,
-            29.200000762939453,
-            26.700000762939453,
-            25.899999618530273,
-            18.100000381469727,
-            17.600000381469727,
-            20.100000381469727,
-            25.200000762939453,
-            3332,
-            67.5,
-            53.599998474121094,
-            56.599998474121094,
-            39.900001525878906,
-            27.600000381469727,
-            29.600000381469727,
-            33.5,
-            17.200000762939453,
-            18.799999237060547,
-            25.200000762939453,
-            16.700000762939453,
-            16.899999618530273,
-            240.1999969482422,
-            52.400001525878906,
-            42.099998474121094,
-            33.900001525878906,
-            28,
-            28.600000381469727,
-            17.299999237060547,
-            20,
-            21,
-            22.799999237060547,
-            16.700000762939453,
-            19.200000762939453,
-            175.39999389648438,
-            43.5,
-            34.70000076293945,
-            29.700000762939453,
-            34.900001525878906,
-            25.799999237060547,
-            17.299999237060547,
-            22.600000381469727,
-            17.600000381469727,
-            17.200000762939453,
-            19.200000762939453,
-            111.80000305175781,
-            35.400001525878906,
-            27.600000381469727,
-            25.399999618530273,
-            21.899999618530273,
-            18.600000381469727,
-            18.100000381469727,
-            21.200000762939453,
-            17.899999618530273,
-            17,
-            80.5999984741211,
-            29.799999237060547,
-            30.100000381469727,
-            16,
-            26.799999237060547,
-            17.5,
-            22.299999237060547,
-            16.799999237060547,
-            22.399999618530273,
-            77.4000015258789,
-            31,
-            29.700000762939453,
-            28.700000762939453,
-            26,
-            16.899999618530273,
-            15.800000190734863,
-            19,
-            52.599998474121094,
-            25.200000762939453,
-            16.700000762939453,
-            17.899999618530273,
-            21,
-            19.799999237060547,
-            18.799999237060547,
-            46.5,
-            17.5,
-            16.799999237060547,
-            18.299999237060547,
-            18.299999237060547,
-            14.899999618530273,
-            41,
-            18.299999237060547,
-            17.299999237060547,
-            17,
-            17.5,
-            32.29999923706055,
-            22.600000381469727,
-            16.600000381469727,
-            17.899999618530273,
-            25.600000381469727,
-            17.5,
-            20.299999237060547,
-            25.200000762939453,
-            18.600000381469727,
-            17.700000762939453
-        ],
         "falcon": [
             16.81999969482422,
             19.759998321533203,
@@ -512,6 +212,306 @@
             16.239999771118164,
             16.040000915527344,
             16.239999771118164
+        ],
+        "square": [
+            24.200000762939453,
+            17.899999618530273,
+            15.800000190734863,
+            58.400001525878906,
+            151,
+            2523.10009765625,
+            245.3000030517578,
+            136,
+            72.30000305175781,
+            55.70000076293945,
+            42.400001525878906,
+            37.70000076293945,
+            30.100000381469727,
+            30.100000381469727,
+            21.799999237060547,
+            20.600000381469727,
+            21.799999237060547,
+            17.600000381469727,
+            18.200000762939453,
+            21,
+            941.7000122070313,
+            177.39999389648438,
+            2821.800048828125,
+            359.20001220703125,
+            318,
+            217.10000610351563,
+            126,
+            69,
+            57.79999923706055,
+            45.29999923706055,
+            35.599998474121094,
+            29.100000381469727,
+            23.799999237060547,
+            44.20000076293945,
+            17.700000762939453,
+            17.700000762939453,
+            15.699999809265137,
+            27.799999237060547,
+            22.799999237060547,
+            3853.60009765625,
+            91.5999984741211,
+            181.39999389648438,
+            476.29998779296875,
+            265.8999938964844,
+            254.60000610351563,
+            2583.199951171875,
+            124.80000305175781,
+            73.19999694824219,
+            56.400001525878906,
+            48.70000076293945,
+            41.599998474121094,
+            21.100000381469727,
+            20.299999237060547,
+            21.299999237060547,
+            18.299999237060547,
+            17.100000381469727,
+            19.5,
+            828.2000122070313,
+            162.1999969482422,
+            217.89999389648438,
+            205.5,
+            197.60000610351563,
+            2249.800048828125,
+            103.0999984741211,
+            71.69999694824219,
+            57.599998474121094,
+            41.400001525878906,
+            34.5,
+            22,
+            20.5,
+            21.700000762939453,
+            18.299999237060547,
+            17.299999237060547,
+            19.399999618530273,
+            666.7999877929688,
+            214.89999389648438,
+            212.3000030517578,
+            125.80000305175781,
+            67.69999694824219,
+            56.099998474121094,
+            45.79999923706055,
+            38.29999923706055,
+            33,
+            35.400001525878906,
+            22.700000762939453,
+            19.399999618530273,
+            19.899999618530273,
+            24.100000381469727,
+            19.299999237060547,
+            21.299999237060547,
+            3508.699951171875,
+            204.10000610351563,
+            125.4000015258789,
+            65.30000305175781,
+            60.79999923706055,
+            44.099998474121094,
+            36.29999923706055,
+            30.5,
+            28.600000381469727,
+            16.5,
+            18.600000381469727,
+            23.700000762939453,
+            22.299999237060547,
+            17.600000381469727,
+            19.200000762939453,
+            448.79998779296875,
+            124.4000015258789,
+            66.5999984741211,
+            53.5,
+            51,
+            45.20000076293945,
+            28.399999618530273,
+            29.200000762939453,
+            26.700000762939453,
+            25.899999618530273,
+            18.100000381469727,
+            17.600000381469727,
+            20.100000381469727,
+            25.200000762939453,
+            3332,
+            67.5,
+            53.599998474121094,
+            56.599998474121094,
+            39.900001525878906,
+            27.600000381469727,
+            29.600000381469727,
+            33.5,
+            17.200000762939453,
+            18.799999237060547,
+            25.200000762939453,
+            16.700000762939453,
+            16.899999618530273,
+            240.1999969482422,
+            52.400001525878906,
+            42.099998474121094,
+            33.900001525878906,
+            28,
+            28.600000381469727,
+            17.299999237060547,
+            20,
+            21,
+            22.799999237060547,
+            16.700000762939453,
+            19.200000762939453,
+            175.39999389648438,
+            43.5,
+            34.70000076293945,
+            29.700000762939453,
+            34.900001525878906,
+            25.799999237060547,
+            17.299999237060547,
+            22.600000381469727,
+            17.600000381469727,
+            17.200000762939453,
+            19.200000762939453,
+            111.80000305175781,
+            35.400001525878906,
+            27.600000381469727,
+            25.399999618530273,
+            21.899999618530273,
+            18.600000381469727,
+            18.100000381469727,
+            21.200000762939453,
+            17.899999618530273,
+            17,
+            80.5999984741211,
+            29.799999237060547,
+            30.100000381469727,
+            16,
+            26.799999237060547,
+            17.5,
+            22.299999237060547,
+            16.799999237060547,
+            22.399999618530273,
+            77.4000015258789,
+            31,
+            29.700000762939453,
+            28.700000762939453,
+            26,
+            16.899999618530273,
+            15.800000190734863,
+            19,
+            52.599998474121094,
+            25.200000762939453,
+            16.700000762939453,
+            17.899999618530273,
+            21,
+            19.799999237060547,
+            18.799999237060547,
+            46.5,
+            17.5,
+            16.799999237060547,
+            18.299999237060547,
+            18.299999237060547,
+            14.899999618530273,
+            41,
+            18.299999237060547,
+            17.299999237060547,
+            17,
+            17.5,
+            32.29999923706055,
+            22.600000381469727,
+            16.600000381469727,
+            17.899999618530273,
+            25.600000381469727,
+            17.5,
+            20.299999237060547,
+            25.200000762939453,
+            18.600000381469727,
+            17.700000762939453
         ]
-    }
+    },
+    "description": "Line chart to show benchmarking results.",
+    "encoding": {
+        "color": {
+            "field": "system",
+            "legend": {
+                "orient": "bottom-right",
+                "title": "System"
+            },
+            "type": "nominal"
+        },
+        "size": {
+            "value": 1
+        },
+        "x": {
+            "axis": {
+                "grid": false,
+                "title": "Trial"
+            },
+            "field": "row",
+            "scale": {
+                "nice": false
+            },
+            "type": "quantitative"
+        },
+        "y": {
+            "axis": {
+                "grid": false,
+                "title": "Frames per Second (fps)"
+            },
+            "field": "fps",
+            "scale": {
+                "type": "log"
+            },
+            "type": "quantitative"
+        }
+    },
+    "height": 300,
+    "layer": [
+        {
+            "data": {
+                "name": "falcon"
+            },
+            "mark": "line",
+            "transform": [
+                {
+                    "window": [
+                        {
+                            "as": "row",
+                            "op": "row_number"
+                        }
+                    ]
+                },
+                {
+                    "as": "fps",
+                    "calculate": "1000/datum.data"
+                },
+                {
+                    "as": "system",
+                    "calculate": "'Falcon'"
+                }
+            ]
+        },
+        {
+            "data": {
+                "name": "square"
+            },
+            "mark": "line",
+            "transform": [
+                {
+                    "window": [
+                        {
+                            "as": "row",
+                            "op": "row_number"
+                        }
+                    ]
+                },
+                {
+                    "as": "fps",
+                    "calculate": "1000/datum.data"
+                },
+                {
+                    "as": "system",
+                    "calculate": "'Square Crossfilter (3M)'"
+                }
+            ]
+        }
+    ],
+    "width": 500
 }
diff --git a/tests/specs/gallery/advanced/density1.vl b/tests/specs/gallery/advanced/density1.vl
--- a/tests/specs/gallery/advanced/density1.vl
+++ b/tests/specs/gallery/advanced/density1.vl
@@ -1,4 +1,25 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/iris.json"
+    },
+    "encoding": {
+        "row": {
+            "field": "organ",
+            "type": "nominal"
+        },
+        "x": {
+            "field": "value",
+            "title": "value (cm)",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "density",
+            "type": "quantitative"
+        }
+    },
+    "height": 50,
+    "mark": "area",
     "transform": [
         {
             "as": [
@@ -13,33 +34,12 @@
             ]
         },
         {
+            "bandwidth": 0.3,
+            "density": "value",
             "groupby": [
                 "organ"
-            ],
-            "bandwidth": 0.3,
-            "density": "value"
+            ]
         }
     ],
-    "height": 50,
-    "mark": "area",
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/iris.json"
-    },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "row": {
-            "field": "organ",
-            "type": "nominal"
-        },
-        "x": {
-            "field": "value",
-            "title": "value (cm)",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "density",
-            "type": "quantitative"
-        }
-    }
+    "width": 300
 }
diff --git a/tests/specs/gallery/advanced/density2.vl b/tests/specs/gallery/advanced/density2.vl
--- a/tests/specs/gallery/advanced/density2.vl
+++ b/tests/specs/gallery/advanced/density2.vl
@@ -1,4 +1,28 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/iris.json"
+    },
+    "encoding": {
+        "color": {
+            "field": "measurement",
+            "type": "nominal"
+        },
+        "x": {
+            "field": "value",
+            "title": "width/length (cm)",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "density",
+            "type": "quantitative"
+        }
+    },
+    "height": 100,
+    "mark": {
+        "opacity": 0.5,
+        "type": "area"
+    },
     "transform": [
         {
             "as": [
@@ -13,41 +37,17 @@
             ]
         },
         {
-            "groupby": [
-                "measurement"
-            ],
+            "bandwidth": 0.3,
+            "density": "value",
             "extent": [
                 0,
                 8
             ],
-            "steps": 200,
-            "bandwidth": 0.3,
-            "density": "value"
+            "groupby": [
+                "measurement"
+            ],
+            "steps": 200
         }
     ],
-    "height": 100,
-    "mark": {
-        "opacity": 0.5,
-        "type": "area"
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/iris.json"
-    },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "color": {
-            "field": "measurement",
-            "type": "nominal"
-        },
-        "x": {
-            "field": "value",
-            "title": "width/length (cm)",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "density",
-            "type": "quantitative"
-        }
-    }
+    "width": 400
 }
diff --git a/tests/specs/gallery/advanced/filter1.vl b/tests/specs/gallery/advanced/filter1.vl
--- a/tests/specs/gallery/advanced/filter1.vl
+++ b/tests/specs/gallery/advanced/filter1.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "rank"
-                }
-            ],
-            "sort": [
-                {
-                    "field": "score",
-                    "order": "descending"
-                }
-            ]
-        },
-        {
-            "filter": "datum.rank <=5"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -111,7 +92,7 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Filtering the top-k items",
     "encoding": {
         "x": {
             "field": "score",
@@ -126,5 +107,24 @@
             "type": "nominal"
         }
     },
-    "description": "Filtering the top-k items"
+    "mark": "bar",
+    "transform": [
+        {
+            "sort": [
+                {
+                    "field": "score",
+                    "order": "descending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "rank"
+                }
+            ]
+        },
+        {
+            "filter": "datum.rank <=5"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/filter2.vl b/tests/specs/gallery/advanced/filter2.vl
--- a/tests/specs/gallery/advanced/filter2.vl
+++ b/tests/specs/gallery/advanced/filter2.vl
@@ -1,58 +1,58 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "description": "Top-k items with 'others'",
+    "encoding": {
+        "x": {
+            "aggregate": "mean",
+            "field": "aggregateGross",
+            "title": null,
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "rankedDirector",
+            "sort": {
+                "encoding": "x",
+                "order": "descending"
+            },
+            "title": null,
+            "type": "ordinal"
+        }
+    },
+    "mark": "bar",
+    "title": "Top Directors by Average Worldwide Gross",
     "transform": [
         {
-            "groupby": [
-                "Director"
-            ],
             "aggregate": [
                 {
-                    "op": "mean",
                     "as": "aggregateGross",
-                    "field": "Worldwide_Gross"
+                    "field": "Worldwide_Gross",
+                    "op": "mean"
                 }
+            ],
+            "groupby": [
+                "Director"
             ]
         },
         {
-            "window": [
-                {
-                    "op": "row_number",
-                    "as": "rank"
-                }
-            ],
             "sort": [
                 {
                     "field": "aggregateGross",
                     "order": "descending"
                 }
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "row_number"
+                }
             ]
         },
         {
             "as": "rankedDirector",
             "calculate": "datum.rank < 10 ? datum.Director : 'All Others'"
         }
-    ],
-    "mark": "bar",
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Top Directors by Average Worldwide Gross",
-    "encoding": {
-        "x": {
-            "field": "aggregateGross",
-            "aggregate": "mean",
-            "title": null,
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "rankedDirector",
-            "sort": {
-                "encoding": "x",
-                "order": "descending"
-            },
-            "title": null,
-            "type": "ordinal"
-        }
-    },
-    "description": "Top-k items with 'others'"
+    ]
 }
diff --git a/tests/specs/gallery/advanced/irisScatterplotMatrix.vl b/tests/specs/gallery/advanced/irisScatterplotMatrix.vl
--- a/tests/specs/gallery/advanced/irisScatterplotMatrix.vl
+++ b/tests/specs/gallery/advanced/irisScatterplotMatrix.vl
@@ -1,25 +1,23 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/iris.json"
     },
     "repeat": {
-        "row": [
-            "petalWidth",
-            "petalLength",
-            "sepalWidth",
-            "sepalLength"
-        ],
         "column": [
             "sepalLength",
             "sepalWidth",
             "petalLength",
             "petalWidth"
+        ],
+        "row": [
+            "petalWidth",
+            "petalLength",
+            "sepalWidth",
+            "sepalLength"
         ]
     },
     "spec": {
-        "height": 150,
-        "mark": "point",
-        "width": 150,
         "encoding": {
             "color": {
                 "field": "species",
@@ -43,7 +41,9 @@
                 },
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+        },
+        "height": 150,
+        "mark": "point",
+        "width": 150
+    }
 }
diff --git a/tests/specs/gallery/advanced/layered1.vl b/tests/specs/gallery/advanced/layered1.vl
--- a/tests/specs/gallery/advanced/layered1.vl
+++ b/tests/specs/gallery/advanced/layered1.vl
@@ -1,32 +1,71 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "description": "Layered Histogram and Cumulative Histogram",
+    "encoding": {
+        "x": {
+            "field": "binIMDB_Rating",
+            "scale": {
+                "zero": false
+            },
+            "title": "IMDB Rating",
+            "type": "quantitative"
+        },
+        "x2": {
+            "field": "binIMDB_Rating_end"
+        }
+    },
+    "layer": [
+        {
+            "encoding": {
+                "y": {
+                    "field": "cumulativeCount",
+                    "type": "quantitative"
+                }
+            },
+            "mark": "bar"
+        },
+        {
+            "encoding": {
+                "y": {
+                    "field": "count",
+                    "type": "quantitative"
+                }
+            },
+            "mark": {
+                "color": "yellow",
+                "opacity": 0.5,
+                "type": "bar"
+            }
+        }
+    ],
     "transform": [
         {
             "as": "binIMDB_Rating",
-            "field": "IMDB_Rating",
-            "bin": true
+            "bin": true,
+            "field": "IMDB_Rating"
         },
         {
-            "groupby": [
-                "binIMDB_Rating",
-                "binIMDB_Rating_end"
-            ],
             "aggregate": [
                 {
-                    "op": "count",
-                    "as": "count"
+                    "as": "count",
+                    "op": "count"
                 }
+            ],
+            "groupby": [
+                "binIMDB_Rating",
+                "binIMDB_Rating_end"
             ]
         },
         {
             "filter": "datum.binIMDB_Rating !== null"
         },
         {
-            "window": [
-                {
-                    "op": "sum",
-                    "as": "cumulativeCount",
-                    "field": "count"
-                }
+            "frame": [
+                null,
+                0
             ],
             "sort": [
                 {
@@ -34,52 +73,13 @@
                     "order": "ascending"
                 }
             ],
-            "frame": [
-                null,
-                0
-            ]
-        }
-    ],
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "layer": [
-        {
-            "mark": "bar",
-            "encoding": {
-                "y": {
-                    "field": "cumulativeCount",
-                    "type": "quantitative"
-                }
-            }
-        },
-        {
-            "mark": {
-                "color": "yellow",
-                "opacity": 0.5,
-                "type": "bar"
-            },
-            "encoding": {
-                "y": {
+            "window": [
+                {
+                    "as": "cumulativeCount",
                     "field": "count",
-                    "type": "quantitative"
+                    "op": "sum"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x2": {
-            "field": "binIMDB_Rating_end"
-        },
-        "x": {
-            "field": "binIMDB_Rating",
-            "scale": {
-                "zero": false
-            },
-            "title": "IMDB Rating",
-            "type": "quantitative"
+            ]
         }
-    },
-    "description": "Layered Histogram and Cumulative Histogram"
+    ]
 }
diff --git a/tests/specs/gallery/advanced/layered2.vl b/tests/specs/gallery/advanced/layered2.vl
--- a/tests/specs/gallery/advanced/layered2.vl
+++ b/tests/specs/gallery/advanced/layered2.vl
@@ -1,19 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Plot showing average data with raw values in the background.",
     "layer": [
         {
-            "mark": {
-                "opacity": 0.3,
-                "type": "point"
-            },
             "encoding": {
                 "x": {
                     "field": "date",
@@ -24,10 +16,13 @@
                     "field": "price",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "opacity": 0.3,
+                "type": "point"
             }
         },
         {
-            "mark": "line",
             "encoding": {
                 "x": {
                     "field": "date",
@@ -35,12 +30,17 @@
                     "type": "temporal"
                 },
                 "y": {
-                    "field": "price",
                     "aggregate": "mean",
+                    "field": "price",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         }
     ],
-    "description": "Plot showing average data with raw values in the background."
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/advanced/layered3.vl b/tests/specs/gallery/advanced/layered3.vl
--- a/tests/specs/gallery/advanced/layered3.vl
+++ b/tests/specs/gallery/advanced/layered3.vl
@@ -1,31 +1,12 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "rollingMean",
-                    "field": "temp_max"
-                }
-            ],
-            "frame": [
-                -15,
-                15
-            ]
-        }
-    ],
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Plot showing a 30 day rolling average with raw values in the background.",
+    "height": 300,
     "layer": [
         {
-            "mark": {
-                "opacity": 0.3,
-                "type": "point"
-            },
             "encoding": {
                 "x": {
                     "field": "date",
@@ -37,14 +18,13 @@
                     "title": "Maximum temperature",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "opacity": 0.3,
+                "type": "point"
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 3,
-                "type": "line"
-            },
             "encoding": {
                 "x": {
                     "field": "date",
@@ -54,8 +34,28 @@
                     "field": "rollingMean",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "size": 3,
+                "type": "line"
             }
         }
     ],
-    "description": "Plot showing a 30 day rolling average with raw values in the background."
+    "transform": [
+        {
+            "frame": [
+                -15,
+                15
+            ],
+            "window": [
+                {
+                    "as": "rollingMean",
+                    "field": "temp_max",
+                    "op": "mean"
+                }
+            ]
+        }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/gallery/advanced/transform1.vl b/tests/specs/gallery/advanced/transform1.vl
--- a/tests/specs/gallery/advanced/transform1.vl
+++ b/tests/specs/gallery/advanced/transform1.vl
@@ -1,87 +1,87 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "count",
-                    "as": "cumulativeCount"
-                }
-            ],
-            "sort": [
-                {
-                    "field": "NOX",
-                    "order": "ascending"
-                }
-            ]
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "format": {
+            "parse": {
+                "NOX": "number"
+            }
+        },
+        "url": "https://gicentre.github.io/data/putneyAirQuality2018.csv"
+    },
+    "description": "Cumulative Frequency Distribution",
+    "encoding": {
+        "x": {
+            "field": "NOX",
+            "title": "NOX concentration (μg/㎥)",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "cumulativeCount",
+            "type": "quantitative"
         }
-    ],
+    },
     "mark": {
-        "strokeWidth": 2,
-        "stroke": {
+        "fill": {
+            "gradient": "linear",
             "stops": [
                 {
-                    "color": "orange",
+                    "color": "white",
                     "offset": 0
                 },
                 {
-                    "color": "green",
-                    "offset": 0.5
-                },
-                {
-                    "color": "purple",
+                    "color": "black",
                     "offset": 1
                 }
             ],
-            "gradient": "linear"
-        },
-        "fill": {
+            "x1": 0,
             "x2": 1,
             "y1": 1,
+            "y2": 1
+        },
+        "fillOpacity": 0.5,
+        "stroke": {
+            "gradient": "linear",
             "stops": [
                 {
-                    "color": "white",
+                    "color": "orange",
                     "offset": 0
                 },
                 {
-                    "color": "black",
+                    "color": "green",
+                    "offset": 0.5
+                },
+                {
+                    "color": "purple",
                     "offset": 1
                 }
-            ],
-            "gradient": "linear",
-            "y2": 1,
-            "x1": 0
+            ]
         },
-        "strokeDashOffset": 5,
         "strokeDash": [
             10,
             6,
             6,
             6
         ],
+        "strokeDashOffset": 5,
         "strokeOpacity": 0.8,
-        "type": "area",
-        "fillOpacity": 0.5
-    },
-    "data": {
-        "url": "https://gicentre.github.io/data/putneyAirQuality2018.csv",
-        "format": {
-            "parse": {
-                "NOX": "number"
-            }
-        }
+        "strokeWidth": 2,
+        "type": "area"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "NOX",
-            "title": "NOX concentration (μg/㎥)",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "cumulativeCount",
-            "type": "quantitative"
+    "transform": [
+        {
+            "sort": [
+                {
+                    "field": "NOX",
+                    "order": "ascending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "cumulativeCount",
+                    "op": "count"
+                }
+            ]
         }
-    },
-    "description": "Cumulative Frequency Distribution"
+    ],
+    "width": 500
 }
diff --git a/tests/specs/gallery/area/area1.vl b/tests/specs/gallery/area/area1.vl
--- a/tests/specs/gallery/area/area1.vl
+++ b/tests/specs/gallery/area/area1.vl
@@ -1,28 +1,28 @@
 {
-    "height": 200,
-    "mark": "area",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/unemployment-across-industries.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Unemployment over time (area chart)",
     "encoding": {
         "x": {
-            "field": "date",
-            "timeUnit": "yearmonth",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "timeUnit": "yearmonth",
+            "type": "temporal"
         },
         "y": {
-            "field": "count",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Count"
-            }
+            },
+            "field": "count",
+            "type": "quantitative"
         }
     },
-    "description": "Unemployment over time (area chart)"
+    "height": 200,
+    "mark": "area",
+    "width": 300
 }
diff --git a/tests/specs/gallery/area/area2.vl b/tests/specs/gallery/area/area2.vl
--- a/tests/specs/gallery/area/area2.vl
+++ b/tests/specs/gallery/area/area2.vl
@@ -1,30 +1,30 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        }
-    ],
-    "mark": {
-        "line": true,
-        "point": true,
-        "type": "area"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Area chart with overlaid lines and point markers",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Area chart with overlaid lines and point markers"
+    "mark": {
+        "line": true,
+        "point": true,
+        "type": "area"
+    },
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/area/area3.vl b/tests/specs/gallery/area/area3.vl
--- a/tests/specs/gallery/area/area3.vl
+++ b/tests/specs/gallery/area/area3.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "area",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/unemployment-across-industries.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Unemployment across industries as a stacked area chart.",
     "encoding": {
         "color": {
             "field": "series",
@@ -13,18 +13,18 @@
             "type": "nominal"
         },
         "x": {
-            "field": "date",
-            "timeUnit": "yearmonth",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "timeUnit": "yearmonth",
+            "type": "temporal"
         },
         "y": {
-            "field": "count",
             "aggregate": "sum",
+            "field": "count",
             "type": "quantitative"
         }
     },
-    "description": "Unemployment across industries as a stacked area chart."
+    "mark": "area"
 }
diff --git a/tests/specs/gallery/area/area4.vl b/tests/specs/gallery/area/area4.vl
--- a/tests/specs/gallery/area/area4.vl
+++ b/tests/specs/gallery/area/area4.vl
@@ -1,11 +1,9 @@
 {
-    "height": 200,
-    "mark": "area",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/unemployment-across-industries.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Unemployment across industries as a normalised area chart.",
     "encoding": {
         "color": {
             "field": "series",
@@ -15,21 +13,23 @@
             "type": "nominal"
         },
         "x": {
-            "field": "date",
-            "timeUnit": "yearmonth",
-            "type": "temporal",
             "axis": {
                 "domain": false,
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "timeUnit": "yearmonth",
+            "type": "temporal"
         },
         "y": {
-            "field": "count",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": null,
-            "stack": "normalize"
+            "field": "count",
+            "stack": "normalize",
+            "type": "quantitative"
         }
     },
-    "description": "Unemployment across industries as a normalised area chart."
+    "height": 200,
+    "mark": "area",
+    "width": 300
 }
diff --git a/tests/specs/gallery/area/area5.vl b/tests/specs/gallery/area/area5.vl
--- a/tests/specs/gallery/area/area5.vl
+++ b/tests/specs/gallery/area/area5.vl
@@ -1,11 +1,9 @@
 {
-    "height": 200,
-    "mark": "area",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/unemployment-across-industries.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Unemployment across industries as a streamgraph (centred, stacked area chart).",
     "encoding": {
         "color": {
             "field": "series",
@@ -15,21 +13,23 @@
             "type": "nominal"
         },
         "x": {
-            "field": "date",
-            "timeUnit": "yearmonth",
-            "type": "temporal",
             "axis": {
                 "domain": false,
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "timeUnit": "yearmonth",
+            "type": "temporal"
         },
         "y": {
-            "field": "count",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": null,
-            "stack": "center"
+            "field": "count",
+            "stack": "center",
+            "type": "quantitative"
         }
     },
-    "description": "Unemployment across industries as a streamgraph (centred, stacked area chart)."
+    "height": 200,
+    "mark": "area",
+    "width": 300
 }
diff --git a/tests/specs/gallery/area/area6.vl b/tests/specs/gallery/area/area6.vl
--- a/tests/specs/gallery/area/area6.vl
+++ b/tests/specs/gallery/area/area6.vl
@@ -1,9 +1,9 @@
 {
-    "height": 50,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "area": {
-            "orient": "vertical",
-            "interpolate": "monotone"
+            "interpolate": "monotone",
+            "orient": "vertical"
         }
     },
     "data": {
@@ -90,14 +90,20 @@
             }
         ]
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Horizon chart with 2 layers. (See https://idl.cs.washington.edu/papers/horizon/ for more details on horizon charts.)",
+    "encoding": {
+        "x": {
+            "field": "x",
+            "scale": {
+                "nice": false,
+                "zero": false
+            },
+            "type": "quantitative"
+        }
+    },
+    "height": 50,
     "layer": [
         {
-            "mark": {
-                "type": "area",
-                "clip": true
-            },
             "encoding": {
                 "opacity": {
                     "value": 0.6
@@ -112,24 +118,21 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "clip": true,
+                "type": "area"
             }
         },
         {
-            "transform": [
-                {
-                    "as": "ny",
-                    "calculate": "datum.y - 50"
-                }
-            ],
-            "mark": {
-                "type": "area",
-                "clip": true
-            },
             "encoding": {
                 "opacity": {
                     "value": 0.3
                 },
                 "y": {
+                    "axis": {
+                        "title": "y"
+                    },
                     "field": "ny",
                     "scale": {
                         "domain": [
@@ -137,23 +140,20 @@
                             50
                         ]
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": "y"
-                    }
+                    "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "x",
-            "scale": {
-                "zero": false,
-                "nice": false
             },
-            "type": "quantitative"
+            "mark": {
+                "clip": true,
+                "type": "area"
+            },
+            "transform": [
+                {
+                    "as": "ny",
+                    "calculate": "datum.y - 50"
+                }
+            ]
         }
-    },
-    "description": "Horizon chart with 2 layers. (See https://idl.cs.washington.edu/papers/horizon/ for more details on horizon charts.)"
+    ],
+    "width": 300
 }
diff --git a/tests/specs/gallery/area/area7.vl b/tests/specs/gallery/area/area7.vl
--- a/tests/specs/gallery/area/area7.vl
+++ b/tests/specs/gallery/area/area7.vl
@@ -1,23 +1,46 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "axis": {
+            "domain": false,
+            "grid": false,
+            "labels": false,
+            "ticks": false
+        },
+        "concat": {
+            "spacing": 10
+        },
+        "view": {
+            "stroke": null
+        }
+    },
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
+    "resolve": {
+        "scale": {
+            "x": "shared"
+        }
+    },
     "transform": [
         {
-            "groupby": [
-                "Origin",
-                "Cylinders"
-            ],
             "aggregate": [
                 {
-                    "op": "count",
-                    "as": "count_*"
+                    "as": "count_*",
+                    "op": "count"
                 }
+            ],
+            "groupby": [
+                "Origin",
+                "Cylinders"
             ]
         },
         {
-            "groupby": [],
             "as": [
                 "stack_count_Origin1",
                 "stack_count_Origin2"
             ],
+            "groupby": [],
             "offset": "normalize",
             "sort": [
                 {
@@ -28,47 +51,45 @@
             "stack": "count_*"
         },
         {
+            "frame": [
+                null,
+                null
+            ],
+            "groupby": [
+                "Origin"
+            ],
+            "sort": [
+                {
+                    "field": "Cylinders",
+                    "order": "ascending"
+                }
+            ],
             "window": [
                 {
-                    "op": "min",
                     "as": "x",
-                    "field": "stack_count_Origin1"
+                    "field": "stack_count_Origin1",
+                    "op": "min"
                 },
                 {
-                    "op": "max",
                     "as": "x2",
-                    "field": "stack_count_Origin2"
+                    "field": "stack_count_Origin2",
+                    "op": "max"
                 },
                 {
-                    "op": "dense_rank",
-                    "as": "rank_Cylinders"
+                    "as": "rank_Cylinders",
+                    "op": "dense_rank"
                 },
                 {
-                    "op": "distinct",
                     "as": "distinct_Cylinders",
-                    "field": "Cylinders"
-                }
-            ],
-            "groupby": [
-                "Origin"
-            ],
-            "sort": [
-                {
                     "field": "Cylinders",
-                    "order": "ascending"
+                    "op": "distinct"
                 }
-            ],
-            "frame": [
-                null,
-                null
             ]
         },
         {
-            "window": [
-                {
-                    "op": "dense_rank",
-                    "as": "rank_Origin"
-                }
+            "frame": [
+                null,
+                null
             ],
             "sort": [
                 {
@@ -76,19 +97,21 @@
                     "order": "ascending"
                 }
             ],
-            "frame": [
-                null,
-                null
+            "window": [
+                {
+                    "as": "rank_Origin",
+                    "op": "dense_rank"
+                }
             ]
         },
         {
-            "groupby": [
-                "Origin"
-            ],
             "as": [
                 "y",
                 "y2"
             ],
+            "groupby": [
+                "Origin"
+            ],
             "offset": "normalize",
             "sort": [
                 {
@@ -123,73 +146,47 @@
             "calculate": "(datum.ny+datum.ny2)/2"
         }
     ],
-    "config": {
-        "concat": {
-            "spacing": 10
-        },
-        "view": {
-            "stroke": null
-        },
-        "axis": {
-            "domain": false,
-            "labels": false,
-            "grid": false,
-            "ticks": false
-        }
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
-    "resolve": {
-        "scale": {
-            "x": "shared"
-        }
-    },
     "vconcat": [
         {
-            "mark": {
-                "align": "center",
-                "type": "text",
-                "baseline": "middle"
-            },
             "encoding": {
                 "color": {
                     "field": "Origin",
-                    "type": "nominal",
-                    "legend": null
+                    "legend": null,
+                    "type": "nominal"
                 },
                 "text": {
                     "field": "Origin",
                     "type": "nominal"
                 },
                 "x": {
-                    "field": "xc",
                     "aggregate": "min",
-                    "title": "Origin",
-                    "type": "quantitative",
                     "axis": {
                         "orient": "top"
-                    }
+                    },
+                    "field": "xc",
+                    "title": "Origin",
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "align": "center",
+                "baseline": "middle",
+                "type": "text"
             }
         },
         {
             "layer": [
                 {
-                    "mark": "rect",
                     "encoding": {
-                        "x2": {
-                            "field": "nx2"
-                        },
                         "color": {
                             "field": "Origin",
-                            "type": "nominal",
-                            "legend": null
+                            "legend": null,
+                            "type": "nominal"
                         },
                         "opacity": {
                             "field": "Cylinders",
-                            "type": "quantitative",
-                            "legend": null
+                            "legend": null,
+                            "type": "quantitative"
                         },
                         "tooltip": [
                             {
@@ -202,46 +199,49 @@
                             }
                         ],
                         "x": {
+                            "axis": null,
                             "field": "nx",
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
                         },
-                        "y2": {
-                            "field": "ny2"
+                        "x2": {
+                            "field": "nx2"
                         },
                         "y": {
+                            "axis": null,
                             "field": "ny",
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
+                        },
+                        "y2": {
+                            "field": "ny2"
                         }
-                    }
+                    },
+                    "mark": "rect"
                 },
                 {
-                    "mark": {
-                        "type": "text",
-                        "baseline": "middle"
-                    },
                     "encoding": {
                         "text": {
                             "field": "Cylinders",
                             "type": "nominal"
                         },
                         "x": {
+                            "axis": null,
                             "field": "xc",
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
                         },
                         "y": {
-                            "field": "yc",
-                            "type": "quantitative",
                             "axis": {
                                 "title": "Cylinders"
-                            }
+                            },
+                            "field": "yc",
+                            "type": "quantitative"
                         }
+                    },
+                    "mark": {
+                        "baseline": "middle",
+                        "type": "text"
                     }
                 }
             ]
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/gallery/area/lasagna.vl b/tests/specs/gallery/area/lasagna.vl
--- a/tests/specs/gallery/area/lasagna.vl
+++ b/tests/specs/gallery/area/lasagna.vl
@@ -1,36 +1,21 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol !== 'GOOG'"
-        }
-    ],
-    "height": 100,
-    "mark": "rect",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "field": "price",
             "aggregate": "sum",
+            "field": "price",
             "title": "Price",
             "type": "quantitative"
         },
         "x": {
-            "field": "date",
-            "timeUnit": "yearmonthdate",
-            "title": "Time",
-            "type": "ordinal",
             "axis": {
-                "labelAngle": 0,
-                "labelOverlap": false,
                 "format": "%Y",
+                "labelAngle": 0,
                 "labelColor": {
-                    "value": null,
                     "condition": {
-                        "value": "black",
                         "test": {
                             "equal": {
                                 "date": 1,
@@ -38,13 +23,14 @@
                             },
                             "field": "value",
                             "timeUnit": "monthdate"
-                        }
-                    }
+                        },
+                        "value": "black"
+                    },
+                    "value": null
                 },
+                "labelOverlap": false,
                 "tickColor": {
-                    "value": null,
                     "condition": {
-                        "value": "black",
                         "test": {
                             "equal": {
                                 "date": 1,
@@ -52,15 +38,29 @@
                             },
                             "field": "value",
                             "timeUnit": "monthdate"
-                        }
-                    }
+                        },
+                        "value": "black"
+                    },
+                    "value": null
                 }
-            }
+            },
+            "field": "date",
+            "timeUnit": "yearmonthdate",
+            "title": "Time",
+            "type": "ordinal"
         },
         "y": {
             "field": "symbol",
             "title": null,
             "type": "nominal"
         }
-    }
+    },
+    "height": 100,
+    "mark": "rect",
+    "transform": [
+        {
+            "filter": "datum.symbol !== 'GOOG'"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/gallery/bar/agesorted.vl b/tests/specs/gallery/bar/agesorted.vl
--- a/tests/specs/gallery/bar/agesorted.vl
+++ b/tests/specs/gallery/bar/agesorted.vl
@@ -1,25 +1,17 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        }
-    ],
-    "height": {
-        "step": 17
-    },
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A bar chart showing the US population distribution of age groups in 2000, sorted by population",
     "encoding": {
         "x": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         },
         "y": {
             "field": "age",
@@ -30,5 +22,13 @@
             "type": "ordinal"
         }
     },
-    "description": "A bar chart showing the US population distribution of age groups in 2000, sorted by population"
+    "height": {
+        "step": 17
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/bar/bar1.vl b/tests/specs/gallery/bar/bar1.vl
--- a/tests/specs/gallery/bar/bar1.vl
+++ b/tests/specs/gallery/bar/bar1.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,7 +40,7 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A simple bar chart with embedded data.",
     "encoding": {
         "x": {
             "field": "a",
@@ -51,5 +51,5 @@
             "type": "quantitative"
         }
     },
-    "description": "A simple bar chart with embedded data."
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/bar10.vl b/tests/specs/gallery/bar/bar10.vl
--- a/tests/specs/gallery/bar/bar10.vl
+++ b/tests/specs/gallery/bar/bar10.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Layered bar chart showing the US population distribution of age groups and gender in 2000.",
     "encoding": {
         "color": {
             "field": "gender",
@@ -35,14 +23,26 @@
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
             },
-            "stack": null
+            "field": "people",
+            "stack": null,
+            "type": "quantitative"
         }
     },
-    "description": "Layered bar chart showing the US population distribution of age groups and gender in 2000."
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
+    }
 }
diff --git a/tests/specs/gallery/bar/bar11.vl b/tests/specs/gallery/bar/bar11.vl
--- a/tests/specs/gallery/bar/bar11.vl
+++ b/tests/specs/gallery/bar/bar11.vl
@@ -1,336 +1,336 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
+                "percentage": 0.7,
                 "percentage_end": -18.4,
-                "value": 24,
                 "percentage_start": -19.1,
+                "question": "Q1",
                 "type": "Strongly disagree",
-                "percentage": 0.7,
-                "question": "Q1"
+                "value": 24
             },
             {
+                "percentage": 9.1,
                 "percentage_end": -9.2,
-                "value": 294,
                 "percentage_start": -18.4,
+                "question": "Q1",
                 "type": "Disagree",
-                "percentage": 9.1,
-                "question": "Q1"
+                "value": 294
             },
             {
+                "percentage": 18.5,
                 "percentage_end": 9.2,
-                "value": 594,
                 "percentage_start": -9.2,
+                "question": "Q1",
                 "type": "Neither agree nor disagree",
-                "percentage": 18.5,
-                "question": "Q1"
+                "value": 594
             },
             {
+                "percentage": 59.9,
                 "percentage_end": 69.2,
-                "value": 1927,
                 "percentage_start": 9.2,
+                "question": "Q1",
                 "type": "Agree",
-                "percentage": 59.9,
-                "question": "Q1"
+                "value": 1927
             },
             {
+                "percentage": 11.7,
                 "percentage_end": 80.9,
-                "value": 376,
                 "percentage_start": 69.2,
+                "question": "Q1",
                 "type": "Strongly agree",
-                "percentage": 11.7,
-                "question": "Q1"
+                "value": 376
             },
             {
+                "percentage": 18.2,
                 "percentage_end": -18.2,
-                "value": 2,
                 "percentage_start": -36.4,
+                "question": "Q2",
                 "type": "Strongly disagree",
-                "percentage": 18.2,
-                "question": "Q2"
+                "value": 2
             },
             {
+                "percentage": 18.2,
                 "percentage_end": 0,
-                "value": 2,
                 "percentage_start": -18.2,
+                "question": "Q2",
                 "type": "Disagree",
-                "percentage": 18.2,
-                "question": "Q2"
+                "value": 2
             },
             {
+                "percentage": 0,
                 "percentage_end": 0,
-                "value": 0,
                 "percentage_start": 0,
+                "question": "Q2",
                 "type": "Neither agree nor disagree",
-                "percentage": 0,
-                "question": "Q2"
+                "value": 0
             },
             {
+                "percentage": 63.6,
                 "percentage_end": 63.6,
-                "value": 7,
                 "percentage_start": 0,
+                "question": "Q2",
                 "type": "Agree",
-                "percentage": 63.6,
-                "question": "Q2"
+                "value": 7
             },
             {
+                "percentage": 0,
                 "percentage_end": 63.6,
-                "value": 11,
                 "percentage_start": 63.6,
+                "question": "Q2",
                 "type": "Strongly agree",
-                "percentage": 0,
-                "question": "Q2"
+                "value": 11
             },
             {
+                "percentage": 20,
                 "percentage_end": -10,
-                "value": 2,
                 "percentage_start": -30,
+                "question": "Q3",
                 "type": "Strongly disagree",
-                "percentage": 20,
-                "question": "Q3"
+                "value": 2
             },
             {
+                "percentage": 0,
                 "percentage_end": -10,
-                "value": 0,
                 "percentage_start": -10,
+                "question": "Q3",
                 "type": "Disagree",
-                "percentage": 0,
-                "question": "Q3"
+                "value": 0
             },
             {
+                "percentage": 20,
                 "percentage_end": 10,
-                "value": 2,
                 "percentage_start": -10,
+                "question": "Q3",
                 "type": "Neither agree nor disagree",
-                "percentage": 20,
-                "question": "Q3"
+                "value": 2
             },
             {
+                "percentage": 40,
                 "percentage_end": 50,
-                "value": 4,
                 "percentage_start": 10,
+                "question": "Q3",
                 "type": "Agree",
-                "percentage": 40,
-                "question": "Q3"
+                "value": 4
             },
             {
+                "percentage": 20,
                 "percentage_end": 70,
-                "value": 2,
                 "percentage_start": 50,
+                "question": "Q3",
                 "type": "Strongly agree",
-                "percentage": 20,
-                "question": "Q3"
+                "value": 2
             },
             {
+                "percentage": 0,
                 "percentage_end": -15.6,
-                "value": 0,
                 "percentage_start": -15.6,
+                "question": "Q4",
                 "type": "Strongly disagree",
-                "percentage": 0,
-                "question": "Q4"
+                "value": 0
             },
             {
+                "percentage": 12.5,
                 "percentage_end": -3.1,
-                "value": 2,
                 "percentage_start": -15.6,
+                "question": "Q4",
                 "type": "Disagree",
-                "percentage": 12.5,
-                "question": "Q4"
+                "value": 2
             },
             {
+                "percentage": 6.3,
                 "percentage_end": 3.1,
-                "value": 1,
                 "percentage_start": -3.1,
+                "question": "Q4",
                 "type": "Neither agree nor disagree",
-                "percentage": 6.3,
-                "question": "Q4"
+                "value": 1
             },
             {
+                "percentage": 43.8,
                 "percentage_end": 46.9,
-                "value": 7,
                 "percentage_start": 3.1,
+                "question": "Q4",
                 "type": "Agree",
-                "percentage": 43.8,
-                "question": "Q4"
+                "value": 7
             },
             {
+                "percentage": 37.5,
                 "percentage_end": 84.4,
-                "value": 6,
                 "percentage_start": 46.9,
+                "question": "Q4",
                 "type": "Strongly agree",
-                "percentage": 37.5,
-                "question": "Q4"
+                "value": 6
             },
             {
+                "percentage": 0,
                 "percentage_end": -10.4,
-                "value": 0,
                 "percentage_start": -10.4,
+                "question": "Q5",
                 "type": "Strongly disagree",
-                "percentage": 0,
-                "question": "Q5"
+                "value": 0
             },
             {
+                "percentage": 4.2,
                 "percentage_end": -6.3,
-                "value": 1,
                 "percentage_start": -10.4,
+                "question": "Q5",
                 "type": "Disagree",
-                "percentage": 4.2,
-                "question": "Q5"
+                "value": 1
             },
             {
+                "percentage": 12.5,
                 "percentage_end": 6.3,
-                "value": 3,
                 "percentage_start": -6.3,
+                "question": "Q5",
                 "type": "Neither agree nor disagree",
-                "percentage": 12.5,
-                "question": "Q5"
+                "value": 3
             },
             {
+                "percentage": 66.7,
                 "percentage_end": 72.9,
-                "value": 16,
                 "percentage_start": 6.3,
+                "question": "Q5",
                 "type": "Agree",
-                "percentage": 66.7,
-                "question": "Q5"
+                "value": 16
             },
             {
+                "percentage": 16.7,
                 "percentage_end": 89.6,
-                "value": 4,
                 "percentage_start": 72.9,
+                "question": "Q5",
                 "type": "Strongly agree",
-                "percentage": 16.7,
-                "question": "Q5"
+                "value": 4
             },
             {
+                "percentage": 6.3,
                 "percentage_end": -12.5,
-                "value": 1,
                 "percentage_start": -18.8,
+                "question": "Q6",
                 "type": "Strongly disagree",
-                "percentage": 6.3,
-                "question": "Q6"
+                "value": 1
             },
             {
+                "percentage": 6.3,
                 "percentage_end": -6.3,
-                "value": 1,
                 "percentage_start": -12.5,
+                "question": "Q6",
                 "type": "Disagree",
-                "percentage": 6.3,
-                "question": "Q6"
+                "value": 1
             },
             {
+                "percentage": 12.5,
                 "percentage_end": 6.3,
-                "value": 2,
                 "percentage_start": -6.3,
+                "question": "Q6",
                 "type": "Neither agree nor disagree",
-                "percentage": 12.5,
-                "question": "Q6"
+                "value": 2
             },
             {
+                "percentage": 56.3,
                 "percentage_end": 62.5,
-                "value": 9,
                 "percentage_start": 6.3,
+                "question": "Q6",
                 "type": "Agree",
-                "percentage": 56.3,
-                "question": "Q6"
+                "value": 9
             },
             {
+                "percentage": 18.8,
                 "percentage_end": 81.3,
-                "value": 3,
                 "percentage_start": 62.5,
+                "question": "Q6",
                 "type": "Strongly agree",
-                "percentage": 18.8,
-                "question": "Q6"
+                "value": 3
             },
             {
+                "percentage": 0,
                 "percentage_end": -10,
-                "value": 0,
                 "percentage_start": -10,
+                "question": "Q7",
                 "type": "Strongly disagree",
-                "percentage": 0,
-                "question": "Q7"
+                "value": 0
             },
             {
+                "percentage": 0,
                 "percentage_end": -10,
-                "value": 0,
                 "percentage_start": -10,
+                "question": "Q7",
                 "type": "Disagree",
-                "percentage": 0,
-                "question": "Q7"
+                "value": 0
             },
             {
+                "percentage": 20,
                 "percentage_end": 10,
-                "value": 1,
                 "percentage_start": -10,
+                "question": "Q7",
                 "type": "Neither agree nor disagree",
-                "percentage": 20,
-                "question": "Q7"
+                "value": 1
             },
             {
+                "percentage": 80,
                 "percentage_end": 90,
-                "value": 4,
                 "percentage_start": 10,
+                "question": "Q7",
                 "type": "Agree",
-                "percentage": 80,
-                "question": "Q7"
+                "value": 4
             },
             {
+                "percentage": 0,
                 "percentage_end": 90,
-                "value": 0,
                 "percentage_start": 90,
+                "question": "Q7",
                 "type": "Strongly agree",
-                "percentage": 0,
-                "question": "Q7"
+                "value": 0
             },
             {
+                "percentage": 0,
                 "percentage_end": 0,
-                "value": 0,
                 "percentage_start": 0,
+                "question": "Q8",
                 "type": "Strongly disagree",
-                "percentage": 0,
-                "question": "Q8"
+                "value": 0
             },
             {
+                "percentage": 0,
                 "percentage_end": 0,
-                "value": 0,
                 "percentage_start": 0,
+                "question": "Q8",
                 "type": "Disagree",
-                "percentage": 0,
-                "question": "Q8"
+                "value": 0
             },
             {
+                "percentage": 0,
                 "percentage_end": 0,
-                "value": 0,
                 "percentage_start": 0,
+                "question": "Q8",
                 "type": "Neither agree nor disagree",
-                "percentage": 0,
-                "question": "Q8"
+                "value": 0
             },
             {
+                "percentage": 0,
                 "percentage_end": 0,
-                "value": 0,
                 "percentage_start": 0,
+                "question": "Q8",
                 "type": "Agree",
-                "percentage": 0,
-                "question": "Q8"
+                "value": 0
             },
             {
+                "percentage": 100,
                 "percentage_end": 100,
-                "value": 2,
                 "percentage_start": 0,
+                "question": "Q8",
                 "type": "Strongly agree",
-                "percentage": 100,
-                "question": "Q8"
+                "value": 2
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A diverging stacked bar chart for sentiments towards a set of eight questions, displayed as percentages with neutral responses straddling the 0% mark.",
     "encoding": {
-        "x2": {
-            "field": "percentage_end"
-        },
         "color": {
             "field": "type",
+            "legend": {
+                "title": "Response"
+            },
             "scale": {
                 "domain": [
                     "Strongly disagree",
@@ -348,29 +348,29 @@
                 ],
                 "type": "ordinal"
             },
-            "type": "nominal",
-            "legend": {
-                "title": "Response"
-            }
+            "type": "nominal"
         },
         "x": {
-            "field": "percentage_start",
-            "type": "quantitative",
             "axis": {
                 "title": "Percentage"
-            }
+            },
+            "field": "percentage_start",
+            "type": "quantitative"
         },
+        "x2": {
+            "field": "percentage_end"
+        },
         "y": {
-            "field": "question",
-            "type": "nominal",
             "axis": {
+                "domain": false,
                 "minExtent": 60,
                 "offset": 5,
-                "domain": false,
-                "title": "Question",
-                "ticks": false
-            }
+                "ticks": false,
+                "title": "Question"
+            },
+            "field": "question",
+            "type": "nominal"
         }
     },
-    "description": "A diverging stacked bar chart for sentiments towards a set of eight questions, displayed as percentages with neutral responses straddling the 0% mark."
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/bar12.vl b/tests/specs/gallery/bar/bar12.vl
--- a/tests/specs/gallery/bar/bar12.vl
+++ b/tests/specs/gallery/bar/bar12.vl
@@ -1,10 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
             "label": {
-                "dx": 3,
                 "align": "left",
-                "baseline": "middle"
+                "baseline": "middle",
+                "dx": 3
             }
         }
     },
@@ -24,33 +25,32 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A simple bar chart with embedded data labels.",
+    "encoding": {
+        "x": {
+            "field": "b",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "a",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
             "mark": "bar"
         },
         {
-            "mark": {
-                "style": "label",
-                "type": "text"
-            },
             "encoding": {
                 "text": {
                     "field": "b",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "style": "label",
+                "type": "text"
             }
         }
-    ],
-    "encoding": {
-        "x": {
-            "field": "b",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "a",
-            "type": "ordinal"
-        }
-    },
-    "description": "A simple bar chart with embedded data labels."
+    ]
 }
diff --git a/tests/specs/gallery/bar/bar13.vl b/tests/specs/gallery/bar/bar13.vl
--- a/tests/specs/gallery/bar/bar13.vl
+++ b/tests/specs/gallery/bar/bar13.vl
@@ -1,208 +1,204 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
     "data": {
         "values": [
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 1
+                "col": 1,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 2
+                "col": 2,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 3
+                "col": 3,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 4
+                "col": 4,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 5
+                "col": 5,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 6
+                "col": 6,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 7
+                "col": 7,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 8
+                "col": 8,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 9
+                "col": 9,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 1
+                "col": 1,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 2
+                "col": 2,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 3
+                "col": 3,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 4
+                "col": 4,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 5
+                "col": 5,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 6
+                "col": 6,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 1
+                "col": 1,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 2
+                "col": 2,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 3
+                "col": 3,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 4
+                "col": 4,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 5
+                "col": 5,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 6
+                "col": 6,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 7
+                "col": 7,
+                "country": "United States"
             },
             {
-                "country": "Great Britain",
                 "animal": "cattle",
-                "col": 1
+                "col": 1,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "cattle",
-                "col": 2
+                "col": 2,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "cattle",
-                "col": 3
+                "col": 3,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "pigs",
-                "col": 1
+                "col": 1,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "pigs",
-                "col": 2
+                "col": 2,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 1
+                "col": 1,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 2
+                "col": 2,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 3
+                "col": 3,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 4
+                "col": 4,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 5
+                "col": 5,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 6
+                "col": 6,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 7
+                "col": 7,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 8
+                "col": 8,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 9
+                "col": 9,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 10
+                "col": 10,
+                "country": "Great Britain"
             }
         ]
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Isotype bar chart inspired by this Only An Ocean Between, 1943. Population Live Stock, p.13.",
     "encoding": {
         "color": {
             "field": "animal",
+            "legend": null,
             "scale": {
                 "domain": [
                     "person",
@@ -217,17 +213,21 @@
                     "rgb(91,131,149)"
                 ]
             },
-            "type": "nominal",
-            "legend": null
-        },
-        "size": {
-            "value": 200
+            "type": "nominal"
         },
         "opacity": {
             "value": 1
         },
+        "row": {
+            "field": "country",
+            "header": {
+                "title": null
+            },
+            "type": "nominal"
+        },
         "shape": {
             "field": "animal",
+            "legend": null,
             "scale": {
                 "domain": [
                     "person",
@@ -242,26 +242,26 @@
                     "M-4.1 -0.5c0.2 0 0.2 0.2 0.5 0.2c0.3 0 0.3 -0.2 0.5 -0.2c0.2 0 0.2 0.2 0.4 0.2c0.2 0 0.2 -0.2 0.5 -0.2c0.2 0 0.2 0.2 0.4 0.2c0.2 0 0.2 -0.2 0.4 -0.2c0.1 0 0.2 0.2 0.4 0.1c0.2 0 0.2 -0.2 0.4 -0.3c0.1 0 0.1 -0.1 0.4 0c0.3 0 0.3 -0.4 0.6 -0.4c0.3 0 0.6 -0.3 0.7 -0.2c0.1 0.1 1.4 1 1.3 1.4c-0.1 0.4 -0.3 0.3 -0.4 0.3c-0.1 0 -0.5 -0.4 -0.7 -0.2c-0.3 0.2 -0.1 0.4 -0.2 0.6c-0.1 0.1 -0.2 0.2 -0.3 0.4c0 0.2 0.1 0.3 0 0.5c-0.1 0.2 -0.3 0.2 -0.3 0.5c0 0.3 -0.2 0.3 -0.3 0.6c-0.1 0.2 0 0.3 -0.1 0.5c-0.1 0.2 -0.1 0.2 -0.2 0.3c-0.1 0.1 0.3 1.1 0.3 1.1l-0.3 0c0 0 -0.3 -0.9 -0.3 -1c0 -0.1 -0.1 -0.2 -0.3 -0.2c-0.2 0 -0.3 0.1 -0.4 0.4c0 0.3 -0.2 0.8 -0.2 0.8l-0.3 0l0.3 -1c0 0 0.1 -0.6 -0.2 -0.5c-0.3 0.1 -0.2 -0.1 -0.4 -0.1c-0.2 -0.1 -0.3 0.1 -0.4 0c-0.2 -0.1 -0.3 0.1 -0.5 0c-0.2 -0.1 -0.1 0 -0.3 0.3c-0.2 0.3 -0.4 0.3 -0.4 0.3l0.2 1.1l-0.3 0l-0.2 -1.1c0 0 -0.4 -0.6 -0.5 -0.4c-0.1 0.3 -0.1 0.4 -0.3 0.4c-0.1 -0.1 -0.2 1.1 -0.2 1.1l-0.3 0l0.2 -1.1c0 0 -0.3 -0.1 -0.3 -0.5c0 -0.3 0.1 -0.5 0.1 -0.7c0.1 -0.2 -0.1 -1 -0.2 -1.1c-0.1 -0.2 -0.2 -0.8 -0.2 -0.8c0 0 -0.1 -0.5 0.4 -0.8z"
                 ]
             },
-            "type": "nominal",
-            "legend": null
-        },
-        "row": {
-            "field": "country",
-            "header": {
-                "title": null
-            },
             "type": "nominal"
         },
+        "size": {
+            "value": 200
+        },
         "x": {
+            "axis": null,
             "field": "col",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         },
         "y": {
+            "axis": null,
             "field": "animal",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         }
     },
-    "description": "Isotype bar chart inspired by this Only An Ocean Between, 1943. Population Live Stock, p.13."
+    "height": 200,
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "width": 800
 }
diff --git a/tests/specs/gallery/bar/bar14.vl b/tests/specs/gallery/bar/bar14.vl
--- a/tests/specs/gallery/bar/bar14.vl
+++ b/tests/specs/gallery/bar/bar14.vl
@@ -1,231 +1,201 @@
 {
-    "transform": [
-        {
-            "as": "emoji",
-            "calculate": "{'cattle': '🐄', 'pigs': '🐖', 'sheep': '🐏'}[datum.animal]"
-        },
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "rank"
-                }
-            ],
-            "groupby": [
-                "country",
-                "animal"
-            ]
-        }
-    ],
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": {
-        "type": "text",
-        "baseline": "middle"
-    },
     "data": {
         "values": [
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 1
+                "col": 1,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 2
+                "col": 2,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 3
+                "col": 3,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 4
+                "col": 4,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 5
+                "col": 5,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 6
+                "col": 6,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 7
+                "col": 7,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 8
+                "col": 8,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "cattle",
-                "col": 9
+                "col": 9,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 1
+                "col": 1,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 2
+                "col": 2,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 3
+                "col": 3,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 4
+                "col": 4,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 5
+                "col": 5,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "pigs",
-                "col": 6
+                "col": 6,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 1
+                "col": 1,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 2
+                "col": 2,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 3
+                "col": 3,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 4
+                "col": 4,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 5
+                "col": 5,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 6
+                "col": 6,
+                "country": "United States"
             },
             {
-                "country": "United States",
                 "animal": "sheep",
-                "col": 7
+                "col": 7,
+                "country": "United States"
             },
             {
-                "country": "Great Britain",
                 "animal": "cattle",
-                "col": 1
+                "col": 1,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "cattle",
-                "col": 2
+                "col": 2,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "cattle",
-                "col": 3
+                "col": 3,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "pigs",
-                "col": 1
+                "col": 1,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "pigs",
-                "col": 2
+                "col": 2,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 1
+                "col": 1,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 2
+                "col": 2,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 3
+                "col": 3,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 4
+                "col": 4,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 5
+                "col": 5,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 6
+                "col": 6,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 7
+                "col": 7,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 8
+                "col": 8,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 9
+                "col": 9,
+                "country": "Great Britain"
             },
             {
-                "country": "Great Britain",
                 "animal": "sheep",
-                "col": 10
+                "col": 10,
+                "country": "Great Britain"
             }
         ]
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Isotype bar chart using emojis for symbols",
     "encoding": {
-        "size": {
-            "value": 65
-        },
-        "text": {
-            "field": "emoji",
-            "type": "nominal"
-        },
         "row": {
             "field": "country",
             "header": {
@@ -233,17 +203,47 @@
             },
             "type": "nominal"
         },
+        "size": {
+            "value": 65
+        },
+        "text": {
+            "field": "emoji",
+            "type": "nominal"
+        },
         "x": {
+            "axis": null,
             "field": "rank",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         },
         "y": {
+            "axis": null,
             "field": "animal",
             "sort": null,
-            "type": "nominal",
-            "axis": null
+            "type": "nominal"
         }
     },
-    "description": "Isotype bar chart using emojis for symbols"
+    "height": 200,
+    "mark": {
+        "baseline": "middle",
+        "type": "text"
+    },
+    "transform": [
+        {
+            "as": "emoji",
+            "calculate": "{'cattle': '🐄', 'pigs': '🐖', 'sheep': '🐏'}[datum.animal]"
+        },
+        {
+            "groupby": [
+                "country",
+                "animal"
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "rank"
+                }
+            ]
+        }
+    ],
+    "width": 800
 }
diff --git a/tests/specs/gallery/bar/bar2.vl b/tests/specs/gallery/bar/bar2.vl
--- a/tests/specs/gallery/bar/bar2.vl
+++ b/tests/specs/gallery/bar/bar2.vl
@@ -1,16 +1,13 @@
 {
-    "mark": {
-        "binSpacing": 0,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Simple histogram of IMDB ratings.",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
             "bin": true,
+            "field": "IMDB_Rating",
             "type": "quantitative"
         },
         "y": {
@@ -18,5 +15,8 @@
             "type": "quantitative"
         }
     },
-    "description": "Simple histogram of IMDB ratings."
+    "mark": {
+        "binSpacing": 0,
+        "type": "bar"
+    }
 }
diff --git a/tests/specs/gallery/bar/bar3.vl b/tests/specs/gallery/bar/bar3.vl
--- a/tests/specs/gallery/bar/bar3.vl
+++ b/tests/specs/gallery/bar/bar3.vl
@@ -1,25 +1,17 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        }
-    ],
-    "height": {
-        "step": 17
-    },
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A bar chart showing the US population distribution of age groups in 2000.",
     "encoding": {
         "x": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         },
         "y": {
             "field": "age",
@@ -27,5 +19,13 @@
             "type": "ordinal"
         }
     },
-    "description": "A bar chart showing the US population distribution of age groups in 2000."
+    "height": {
+        "step": 17
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/bar/bar4.vl b/tests/specs/gallery/bar/bar4.vl
--- a/tests/specs/gallery/bar/bar4.vl
+++ b/tests/specs/gallery/bar/bar4.vl
@@ -1,29 +1,17 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "stroke": null
-        },
         "axis": {
             "domainWidth": 1
+        },
+        "view": {
+            "stroke": null
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 12
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Grouped bar chart showing population structure by age and gender.",
     "encoding": {
         "color": {
             "field": "gender",
@@ -35,26 +23,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "gender",
-            "type": "nominal",
-            "axis": {
-                "title": null
-            }
-        },
         "column": {
             "field": "age",
             "type": "ordinal"
         },
+        "x": {
+            "axis": {
+                "title": null
+            },
+            "field": "gender",
+            "type": "nominal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "grid": false,
                 "title": "population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
     },
-    "description": "Grouped bar chart showing population structure by age and gender."
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 12
+    }
 }
diff --git a/tests/specs/gallery/bar/bar5.vl b/tests/specs/gallery/bar/bar5.vl
--- a/tests/specs/gallery/bar/bar5.vl
+++ b/tests/specs/gallery/bar/bar5.vl
@@ -1,12 +1,15 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Seattle weather stacked bar chart",
     "encoding": {
         "color": {
             "field": "weather",
+            "legend": {
+                "title": "Weather type"
+            },
             "scale": {
                 "domain": [
                     "sun",
@@ -23,23 +26,20 @@
                     "#9467bd"
                 ]
             },
-            "type": "nominal",
-            "legend": {
-                "title": "Weather type"
-            }
+            "type": "nominal"
         },
         "x": {
-            "field": "date",
-            "timeUnit": "month",
-            "type": "ordinal",
             "axis": {
                 "title": "Month of the year"
-            }
+            },
+            "field": "date",
+            "timeUnit": "month",
+            "type": "ordinal"
         },
         "y": {
             "aggregate": "count",
             "type": "quantitative"
         }
     },
-    "description": "Seattle weather stacked bar chart"
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/bar6.vl b/tests/specs/gallery/bar/bar6.vl
--- a/tests/specs/gallery/bar/bar6.vl
+++ b/tests/specs/gallery/bar/bar6.vl
@@ -1,17 +1,17 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Barley crop yields as a horizontal stacked bar chart",
     "encoding": {
         "color": {
             "field": "site",
             "type": "nominal"
         },
         "x": {
-            "field": "yield",
             "aggregate": "sum",
+            "field": "yield",
             "type": "quantitative"
         },
         "y": {
@@ -19,5 +19,5 @@
             "type": "nominal"
         }
     },
-    "description": "Barley crop yields as a horizontal stacked bar chart"
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/bar6order.vl b/tests/specs/gallery/bar/bar6order.vl
--- a/tests/specs/gallery/bar/bar6order.vl
+++ b/tests/specs/gallery/bar/bar6order.vl
@@ -1,27 +1,27 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "site",
             "type": "nominal"
         },
-        "x": {
-            "field": "yield",
+        "order": {
             "aggregate": "sum",
+            "field": "yield",
             "type": "quantitative"
         },
-        "order": {
-            "field": "yield",
+        "x": {
             "aggregate": "sum",
+            "field": "yield",
             "type": "quantitative"
         },
         "y": {
             "field": "variety",
             "type": "nominal"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/bar6sort.vl b/tests/specs/gallery/bar/bar6sort.vl
--- a/tests/specs/gallery/bar/bar6sort.vl
+++ b/tests/specs/gallery/bar/bar6sort.vl
@@ -1,31 +1,31 @@
 {
-    "transform": [
-        {
-            "as": "siteOrder",
-            "calculate": "if(datum.site === 'University Farm', 0, if(datum.site === 'Grand Rapids', 1, 2))"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "site",
             "type": "nominal"
         },
+        "order": {
+            "field": "siteOrder"
+        },
         "x": {
-            "field": "yield",
             "aggregate": "sum",
+            "field": "yield",
             "type": "quantitative"
         },
-        "order": {
-            "field": "siteOrder"
-        },
         "y": {
             "field": "variety",
             "type": "nominal"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "as": "siteOrder",
+            "calculate": "if(datum.site === 'University Farm', 0, if(datum.site === 'Grand Rapids', 1, 2))"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/bar/bar7.vl b/tests/specs/gallery/bar/bar7.vl
--- a/tests/specs/gallery/bar/bar7.vl
+++ b/tests/specs/gallery/bar/bar7.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Population structure as a normalised stacked bar chart.",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,14 +20,26 @@
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
             },
-            "stack": "normalize"
+            "field": "people",
+            "stack": "normalize",
+            "type": "quantitative"
         }
     },
-    "description": "Population structure as a normalised stacked bar chart."
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
+    }
 }
diff --git a/tests/specs/gallery/bar/bar8.vl b/tests/specs/gallery/bar/bar8.vl
--- a/tests/specs/gallery/bar/bar8.vl
+++ b/tests/specs/gallery/bar/bar8.vl
@@ -1,37 +1,37 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "start": 1,
                 "end": 3,
+                "start": 1,
                 "task": "A"
             },
             {
-                "start": 3,
                 "end": 8,
+                "start": 3,
                 "task": "B"
             },
             {
-                "start": 8,
                 "end": 10,
+                "start": 8,
                 "task": "C"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A simple bar chart with ranged data (aka Gantt Chart).",
     "encoding": {
-        "x2": {
-            "field": "end"
-        },
         "x": {
             "field": "start",
             "type": "quantitative"
         },
+        "x2": {
+            "field": "end"
+        },
         "y": {
             "field": "task",
             "type": "ordinal"
         }
     },
-    "description": "A simple bar chart with ranged data (aka Gantt Chart)."
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/bar9.vl b/tests/specs/gallery/bar/bar9.vl
--- a/tests/specs/gallery/bar/bar9.vl
+++ b/tests/specs/gallery/bar/bar9.vl
@@ -1,22 +1,22 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "color": "red",
-                "b": 28
+                "b": 28,
+                "color": "red"
             },
             {
-                "color": "green",
-                "b": 55
+                "b": 55,
+                "color": "green"
             },
             {
-                "color": "blue",
-                "b": 43
+                "b": 43,
+                "color": "blue"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A bar chart that directly encodes color names in the data.",
     "encoding": {
         "color": {
             "field": "color",
@@ -32,5 +32,5 @@
             "type": "quantitative"
         }
     },
-    "description": "A bar chart that directly encodes color names in the data."
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/baraxisspacesaving.vl b/tests/specs/gallery/bar/baraxisspacesaving.vl
--- a/tests/specs/gallery/bar/baraxisspacesaving.vl
+++ b/tests/specs/gallery/bar/baraxisspacesaving.vl
@@ -1,46 +1,46 @@
 {
-    "height": {
-        "step": 50
-    },
-    "mark": {
-        "cornerRadiusEnd": 2,
-        "yOffset": 5,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Bar Chart with a spacing-saving y-axis",
     "encoding": {
         "x": {
             "aggregate": "count",
-            "type": "quantitative",
             "axis": {
                 "grid": false
-            }
+            },
+            "type": "quantitative"
         },
         "y": {
-            "field": "Origin",
-            "scale": {
-                "padding": 0
-            },
-            "type": "nominal",
             "axis": {
-                "titleAlign": "left",
                 "bandPosition": 0,
-                "titleX": 5,
                 "domain": false,
-                "labelOffset": -15,
-                "titleY": -5,
-                "labelPadding": -5,
-                "labelBaseline": "middle",
                 "grid": true,
                 "labelAlign": "left",
+                "labelBaseline": "middle",
+                "labelOffset": -15,
+                "labelPadding": -5,
                 "ticks": false,
-                "titleAngle": 0
+                "titleAlign": "left",
+                "titleAngle": 0,
+                "titleX": 5,
+                "titleY": -5
             },
-            "band": 0.5
+            "band": 0.5,
+            "field": "Origin",
+            "scale": {
+                "padding": 0
+            },
+            "type": "nominal"
         }
     },
-    "description": "Bar Chart with a spacing-saving y-axis"
+    "height": {
+        "step": 50
+    },
+    "mark": {
+        "cornerRadiusEnd": 2,
+        "type": "bar",
+        "yOffset": 5
+    }
 }
diff --git a/tests/specs/gallery/bar/barnegative.vl b/tests/specs/gallery/bar/barnegative.vl
--- a/tests/specs/gallery/bar/barnegative.vl
+++ b/tests/specs/gallery/bar/barnegative.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,31 +40,31 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A bar chart with negative values. We can hide the axis domain line, and instead use a conditional grid color to draw a zero baseline.",
     "encoding": {
         "x": {
-            "field": "a",
-            "type": "ordinal",
             "axis": {
-                "labelAngle": 0,
                 "domain": false,
+                "labelAngle": 0,
                 "labelPadding": 4,
                 "ticks": false
-            }
+            },
+            "field": "a",
+            "type": "ordinal"
         },
         "y": {
-            "field": "b",
-            "type": "quantitative",
             "axis": {
                 "gridColor": {
-                    "value": "#ddd",
                     "condition": {
-                        "value": "black",
-                        "test": "datum.value === 0"
-                    }
+                        "test": "datum.value === 0",
+                        "value": "black"
+                    },
+                    "value": "#ddd"
                 }
-            }
+            },
+            "field": "b",
+            "type": "quantitative"
         }
     },
-    "description": "A bar chart with negative values. We can hide the axis domain line, and instead use a conditional grid color to draw a zero baseline."
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/explicitbins.vl b/tests/specs/gallery/bar/explicitbins.vl
--- a/tests/specs/gallery/bar/explicitbins.vl
+++ b/tests/specs/gallery/bar/explicitbins.vl
@@ -1,64 +1,64 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "binEnd": 10,
-                "count": 7,
-                "binStart": 8
+                "binStart": 8,
+                "count": 7
             },
             {
                 "binEnd": 12,
-                "count": 29,
-                "binStart": 10
+                "binStart": 10,
+                "count": 29
             },
             {
                 "binEnd": 14,
-                "count": 71,
-                "binStart": 12
+                "binStart": 12,
+                "count": 71
             },
             {
                 "binEnd": 16,
-                "count": 127,
-                "binStart": 14
+                "binStart": 14,
+                "count": 127
             },
             {
                 "binEnd": 18,
-                "count": 94,
-                "binStart": 16
+                "binStart": 16,
+                "count": 94
             },
             {
                 "binEnd": 20,
-                "count": 54,
-                "binStart": 18
+                "binStart": 18,
+                "count": 54
             },
             {
                 "binEnd": 22,
-                "count": 17,
-                "binStart": 20
+                "binStart": 20,
+                "count": 17
             },
             {
                 "binEnd": 24,
-                "count": 5,
-                "binStart": 22
+                "binStart": 22,
+                "count": 5
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "x2": {
-            "field": "binEnd"
-        },
         "x": {
-            "field": "binStart",
             "bin": {
                 "step": 2
             },
+            "field": "binStart",
             "type": "quantitative"
         },
+        "x2": {
+            "field": "binEnd"
+        },
         "y": {
             "field": "count",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/bar/initialletter.vl b/tests/specs/gallery/bar/initialletter.vl
--- a/tests/specs/gallery/bar/initialletter.vl
+++ b/tests/specs/gallery/bar/initialletter.vl
@@ -1,9 +1,30 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
+    },
+    "description": "Using `labelExpr` to show only initial letters of month names.",
+    "encoding": {
+        "x": {
+            "axis": {
+                "labelAlign": "left",
+                "labelExpr": "datum.label[0]"
+            },
+            "field": "date",
+            "timeUnit": "month",
+            "type": "temporal"
+        },
+        "y": {
+            "aggregate": "mean",
+            "field": "precipitation",
+            "type": "quantitative"
+        }
+    },
     "height": 300,
     "mark": {
-        "cornerRadius": 10,
-        "strokeWidth": 4,
+        "blend": "difference",
         "color": {
+            "gradient": "linear",
             "stops": [
                 {
                     "color": "orange",
@@ -13,36 +34,15 @@
                     "color": "cyan",
                     "offset": 1
                 }
-            ],
-            "gradient": "linear"
+            ]
         },
-        "blend": "difference",
+        "cornerRadius": 10,
         "stroke": "yellow",
+        "strokeWidth": 4,
         "tooltip": {
             "content": "data"
         },
         "type": "bar"
     },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
-    },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "date",
-            "timeUnit": "month",
-            "type": "temporal",
-            "axis": {
-                "labelExpr": "datum.label[0]",
-                "labelAlign": "left"
-            }
-        },
-        "y": {
-            "field": "precipitation",
-            "aggregate": "mean",
-            "type": "quantitative"
-        }
-    },
-    "description": "Using `labelExpr` to show only initial letters of month names."
+    "width": 400
 }
diff --git a/tests/specs/gallery/bar/labeloverlay.vl b/tests/specs/gallery/bar/labeloverlay.vl
--- a/tests/specs/gallery/bar/labeloverlay.vl
+++ b/tests/specs/gallery/bar/labeloverlay.vl
@@ -1,26 +1,39 @@
 {
-    "transform": [
-        {
-            "as": "genre",
-            "calculate": "isValid(datum.Major_Genre)? datum.Major_Genre : 'unclassified'"
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "description": "Bar chart with label overlay",
+    "encoding": {
+        "y": {
+            "axis": null,
+            "field": "genre",
+            "sort": [
+                "Action",
+                "Adventure",
+                "Comedy",
+                "Black Comedy",
+                "Romantic Comedy",
+                "Concert/Performance",
+                "Documentary",
+                "Drama",
+                "Horror",
+                "Musical",
+                "Thriller/Suspense",
+                "Western",
+                "unclassified"
+            ],
+            "type": "nominal"
         }
-    ],
+    },
     "height": {
         "step": 16
     },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json"
-    },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "color": "#ddd",
-                "type": "bar"
-            },
             "encoding": {
                 "x": {
+                    "aggregate": "mean",
                     "field": "IMDB_Rating",
                     "scale": {
                         "domain": [
@@ -28,51 +41,38 @@
                             10
                         ]
                     },
-                    "aggregate": "mean",
                     "title": "Mean IMDB Ratings",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "#ddd",
+                "type": "bar"
             }
         },
         {
-            "mark": {
-                "dx": 5,
-                "align": "center",
-                "type": "text"
-            },
             "encoding": {
-                "text": {
-                    "field": "genre",
-                    "type": "nominal"
-                },
                 "detail": {
                     "aggregate": "count",
                     "type": "quantitative"
+                },
+                "text": {
+                    "field": "genre",
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "align": "center",
+                "dx": 5,
+                "type": "text"
             }
         }
     ],
-    "encoding": {
-        "y": {
-            "field": "genre",
-            "sort": [
-                "Action",
-                "Adventure",
-                "Comedy",
-                "Black Comedy",
-                "Romantic Comedy",
-                "Concert/Performance",
-                "Documentary",
-                "Drama",
-                "Horror",
-                "Musical",
-                "Thriller/Suspense",
-                "Western",
-                "unclassified"
-            ],
-            "type": "nominal",
-            "axis": null
+    "transform": [
+        {
+            "as": "genre",
+            "calculate": "isValid(datum.Major_Genre)? datum.Major_Genre : 'unclassified'"
         }
-    },
-    "description": "Bar chart with label overlay"
+    ],
+    "width": 200
 }
diff --git a/tests/specs/gallery/bar/layer_bar_labels_grey.vl b/tests/specs/gallery/bar/layer_bar_labels_grey.vl
--- a/tests/specs/gallery/bar/layer_bar_labels_grey.vl
+++ b/tests/specs/gallery/bar/layer_bar_labels_grey.vl
@@ -1,20 +1,23 @@
 {
-    "height": {
-        "step": 16
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "encoding": {
+        "y": {
+            "axis": null,
+            "field": "Major_Genre",
+            "type": "nominal"
+        }
+    },
+    "height": {
+        "step": 16
+    },
     "layer": [
         {
-            "mark": {
-                "color": "#ddd",
-                "type": "bar"
-            },
             "encoding": {
                 "x": {
+                    "aggregate": "mean",
                     "field": "IMDB_Rating",
                     "scale": {
                         "domain": [
@@ -22,35 +25,32 @@
                             10
                         ]
                     },
-                    "aggregate": "mean",
                     "title": "Mean IMDB Ratings",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "#ddd",
+                "type": "bar"
             }
         },
         {
-            "mark": {
-                "align": "left",
-                "x": 5,
-                "type": "text"
-            },
             "encoding": {
-                "text": {
-                    "field": "Major_Genre",
-                    "type": "nominal"
-                },
                 "detail": {
                     "aggregate": "count",
                     "type": "quantitative"
+                },
+                "text": {
+                    "field": "Major_Genre",
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "align": "left",
+                "type": "text",
+                "x": 5
             }
         }
     ],
-    "encoding": {
-        "y": {
-            "field": "Major_Genre",
-            "type": "nominal",
-            "axis": null
-        }
-    }
+    "width": 200
 }
diff --git a/tests/specs/gallery/bar/logscaled.vl b/tests/specs/gallery/bar/logscaled.vl
--- a/tests/specs/gallery/bar/logscaled.vl
+++ b/tests/specs/gallery/bar/logscaled.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "logX",
-            "calculate": "log(datum.x)/log(10)"
-        },
-        {
-            "as": "binLogX",
-            "field": "logX",
-            "bin": true
-        },
-        {
-            "as": "x1",
-            "calculate": "pow(10,datum.binLogX)"
-        },
-        {
-            "as": "x2",
-            "calculate": "pow(10,datum.binLogX_end)"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -56,26 +37,45 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Log-scaled Histogram (may improve after https://github.com/vega/vega-lite/issues/4792)",
     "encoding": {
-        "x2": {
-            "field": "x2"
-        },
         "x": {
+            "axis": {
+                "tickCount": 5
+            },
             "field": "x1",
             "scale": {
                 "base": 10,
                 "type": "log"
             },
-            "type": "quantitative",
-            "axis": {
-                "tickCount": 5
-            }
+            "type": "quantitative"
         },
+        "x2": {
+            "field": "x2"
+        },
         "y": {
             "aggregate": "count",
             "type": "quantitative"
         }
     },
-    "description": "Log-scaled Histogram (may improve after https://github.com/vega/vega-lite/issues/4792)"
+    "mark": "bar",
+    "transform": [
+        {
+            "as": "logX",
+            "calculate": "log(datum.x)/log(10)"
+        },
+        {
+            "as": "binLogX",
+            "bin": true,
+            "field": "logX"
+        },
+        {
+            "as": "x1",
+            "calculate": "pow(10,datum.binLogX)"
+        },
+        {
+            "as": "x2",
+            "calculate": "pow(10,datum.binLogX_end)"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/bar/signedpopulation.vl b/tests/specs/gallery/bar/signedpopulation.vl
--- a/tests/specs/gallery/bar/signedpopulation.vl
+++ b/tests/specs/gallery/bar/signedpopulation.vl
@@ -1,61 +1,61 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        },
-        {
-            "as": "signedPeople",
-            "calculate": "datum.sex == 2 ? datum.people : -datum.people"
-        }
-    ],
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "stroke": null
-        },
         "axis": {
             "grid": false
+        },
+        "view": {
+            "stroke": null
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
+            "legend": {
+                "orient": "top",
+                "title": ""
+            },
             "scale": {
                 "range": [
                     "#675193",
                     "#ca8861"
                 ]
             },
-            "type": "nominal",
-            "legend": {
-                "orient": "top",
-                "title": ""
-            }
+            "type": "nominal"
         },
         "x": {
-            "field": "signedPeople",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "format": "s",
                 "title": "Population"
-            }
+            },
+            "field": "signedPeople",
+            "type": "quantitative"
         },
         "y": {
+            "axis": null,
             "field": "age",
             "sort": "descending",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        },
+        {
+            "as": "signedPeople",
+            "calculate": "datum.sex == 2 ? datum.people : -datum.people"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/gallery/bar/wilkinsondotplot.vl b/tests/specs/gallery/bar/wilkinsondotplot.vl
--- a/tests/specs/gallery/bar/wilkinsondotplot.vl
+++ b/tests/specs/gallery/bar/wilkinsondotplot.vl
@@ -1,28 +1,10 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "id",
-                    "field": "rank"
-                }
-            ],
-            "groupby": [
-                "data"
-            ]
-        }
-    ],
-    "height": 100,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": {
-        "opacity": 1,
-        "type": "circle"
-    },
     "data": {
         "values": [
             {
@@ -90,18 +72,36 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A Wilkinson dot plot",
     "encoding": {
         "x": {
             "field": "data",
             "type": "ordinal"
         },
         "y": {
+            "axis": null,
             "field": "id",
             "sort": "descending",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         }
     },
-    "description": "A Wilkinson dot plot"
+    "height": 100,
+    "mark": {
+        "opacity": 1,
+        "type": "circle"
+    },
+    "transform": [
+        {
+            "groupby": [
+                "data"
+            ],
+            "window": [
+                {
+                    "as": "id",
+                    "field": "rank",
+                    "op": "rank"
+                }
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/gallery/dist/dist1.vl b/tests/specs/gallery/dist/dist1.vl
--- a/tests/specs/gallery/dist/dist1.vl
+++ b/tests/specs/gallery/dist/dist1.vl
@@ -1,16 +1,13 @@
 {
-    "mark": {
-        "binSpacing": 0,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Simple histogram of IMDB ratings.",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
             "bin": true,
+            "field": "IMDB_Rating",
             "type": "quantitative"
         },
         "y": {
@@ -18,5 +15,8 @@
             "type": "quantitative"
         }
     },
-    "description": "Simple histogram of IMDB ratings."
+    "mark": {
+        "binSpacing": 0,
+        "type": "bar"
+    }
 }
diff --git a/tests/specs/gallery/dist/dist2.vl b/tests/specs/gallery/dist/dist2.vl
--- a/tests/specs/gallery/dist/dist2.vl
+++ b/tests/specs/gallery/dist/dist2.vl
@@ -1,30 +1,9 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "count",
-                    "as": "cumulativeCount",
-                    "field": "count"
-                }
-            ],
-            "sort": [
-                {
-                    "field": "IMDB_Rating",
-                    "order": "ascending"
-                }
-            ],
-            "frame": [
-                null,
-                0
-            ]
-        }
-    ],
-    "mark": "area",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Cumulative frequency distribution",
     "encoding": {
         "x": {
             "field": "IMDB_Rating",
@@ -35,5 +14,26 @@
             "type": "quantitative"
         }
     },
-    "description": "Cumulative frequency distribution"
+    "mark": "area",
+    "transform": [
+        {
+            "frame": [
+                null,
+                0
+            ],
+            "sort": [
+                {
+                    "field": "IMDB_Rating",
+                    "order": "ascending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "cumulativeCount",
+                    "field": "count",
+                    "op": "count"
+                }
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/gallery/dist/dist3.vl b/tests/specs/gallery/dist/dist3.vl
--- a/tests/specs/gallery/dist/dist3.vl
+++ b/tests/specs/gallery/dist/dist3.vl
@@ -1,32 +1,73 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "description": "A layered histogram and cumulative histogram.",
+    "encoding": {
+        "x": {
+            "axis": {
+                "title": "IMDB rating"
+            },
+            "field": "bin_IMDB_Rating",
+            "scale": {
+                "zero": false
+            },
+            "type": "quantitative"
+        },
+        "x2": {
+            "field": "bin_IMDB_Rating_end"
+        }
+    },
+    "layer": [
+        {
+            "encoding": {
+                "y": {
+                    "field": "cumulativeCount",
+                    "type": "quantitative"
+                }
+            },
+            "mark": "bar"
+        },
+        {
+            "encoding": {
+                "y": {
+                    "field": "count",
+                    "type": "quantitative"
+                }
+            },
+            "mark": {
+                "color": "yellow",
+                "opacity": 0.5,
+                "type": "bar"
+            }
+        }
+    ],
     "transform": [
         {
             "as": "bin_IMDB_Rating",
-            "field": "IMDB_Rating",
-            "bin": true
+            "bin": true,
+            "field": "IMDB_Rating"
         },
         {
-            "groupby": [
-                "bin_IMDB_Rating",
-                "bin_IMDB_Rating_end"
-            ],
             "aggregate": [
                 {
-                    "op": "count",
-                    "as": "count"
+                    "as": "count",
+                    "op": "count"
                 }
+            ],
+            "groupby": [
+                "bin_IMDB_Rating",
+                "bin_IMDB_Rating_end"
             ]
         },
         {
             "filter": "datum.bin_IMDB_Rating !== null"
         },
         {
-            "window": [
-                {
-                    "op": "sum",
-                    "as": "cumulativeCount",
-                    "field": "count"
-                }
+            "frame": [
+                null,
+                0
             ],
             "sort": [
                 {
@@ -34,54 +75,13 @@
                     "order": "ascending"
                 }
             ],
-            "frame": [
-                null,
-                0
-            ]
-        }
-    ],
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "layer": [
-        {
-            "mark": "bar",
-            "encoding": {
-                "y": {
-                    "field": "cumulativeCount",
-                    "type": "quantitative"
-                }
-            }
-        },
-        {
-            "mark": {
-                "color": "yellow",
-                "opacity": 0.5,
-                "type": "bar"
-            },
-            "encoding": {
-                "y": {
+            "window": [
+                {
+                    "as": "cumulativeCount",
                     "field": "count",
-                    "type": "quantitative"
+                    "op": "sum"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x2": {
-            "field": "bin_IMDB_Rating_end"
-        },
-        "x": {
-            "field": "bin_IMDB_Rating",
-            "scale": {
-                "zero": false
-            },
-            "type": "quantitative",
-            "axis": {
-                "title": "IMDB rating"
-            }
+            ]
         }
-    },
-    "description": "A layered histogram and cumulative histogram."
+    ]
 }
diff --git a/tests/specs/gallery/dist/dist4.vl b/tests/specs/gallery/dist/dist4.vl
--- a/tests/specs/gallery/dist/dist4.vl
+++ b/tests/specs/gallery/dist/dist4.vl
@@ -1,99 +1,68 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "age"
-            ],
-            "aggregate": [
-                {
-                    "op": "min",
-                    "as": "lowerWhisker",
-                    "field": "people"
-                },
-                {
-                    "op": "q1",
-                    "as": "lowerBox",
-                    "field": "people"
-                },
-                {
-                    "op": "median",
-                    "as": "midBox",
-                    "field": "people"
-                },
-                {
-                    "op": "q3",
-                    "as": "upperBox",
-                    "field": "people"
-                },
-                {
-                    "op": "max",
-                    "as": "upperWhisker",
-                    "field": "people"
-                }
-            ]
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A vertical 2D box plot showing median, min, and max in the US population distribution of age groups in 2000.",
+    "encoding": {
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": {
-                "style": "boxWhisker",
-                "type": "rule"
-            },
             "encoding": {
-                "y2": {
-                    "field": "lowerBox"
-                },
                 "y": {
-                    "field": "lowerWhisker",
-                    "type": "quantitative",
                     "axis": {
                         "title": "Population"
-                    }
+                    },
+                    "field": "lowerWhisker",
+                    "type": "quantitative"
+                },
+                "y2": {
+                    "field": "lowerBox"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "boxWhisker",
                 "type": "rule"
-            },
+            }
+        },
+        {
             "encoding": {
-                "y2": {
-                    "field": "upperWhisker"
-                },
                 "y": {
                     "field": "upperBox",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "upperWhisker"
                 }
+            },
+            "mark": {
+                "style": "boxWhisker",
+                "type": "rule"
             }
         },
         {
-            "mark": {
-                "style": "box",
-                "type": "bar"
-            },
             "encoding": {
                 "size": {
                     "value": 5
                 },
-                "y2": {
-                    "field": "upperBox"
-                },
                 "y": {
                     "field": "lowerBox",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "upperBox"
                 }
+            },
+            "mark": {
+                "style": "box",
+                "type": "bar"
             }
         },
         {
-            "mark": {
-                "style": "boxMid",
-                "type": "tick"
-            },
             "encoding": {
                 "color": {
                     "value": "white"
@@ -105,14 +74,45 @@
                     "field": "midBox",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "style": "boxMid",
+                "type": "tick"
             }
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "age",
-            "type": "ordinal"
+    "transform": [
+        {
+            "aggregate": [
+                {
+                    "as": "lowerWhisker",
+                    "field": "people",
+                    "op": "min"
+                },
+                {
+                    "as": "lowerBox",
+                    "field": "people",
+                    "op": "q1"
+                },
+                {
+                    "as": "midBox",
+                    "field": "people",
+                    "op": "median"
+                },
+                {
+                    "as": "upperBox",
+                    "field": "people",
+                    "op": "q3"
+                },
+                {
+                    "as": "upperWhisker",
+                    "field": "people",
+                    "op": "max"
+                }
+            ],
+            "groupby": [
+                "age"
+            ]
         }
-    },
-    "description": "A vertical 2D box plot showing median, min, and max in the US population distribution of age groups in 2000."
+    ]
 }
diff --git a/tests/specs/gallery/dist/dist5.vl b/tests/specs/gallery/dist/dist5.vl
--- a/tests/specs/gallery/dist/dist5.vl
+++ b/tests/specs/gallery/dist/dist5.vl
@@ -1,101 +1,68 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "age"
-            ],
-            "aggregate": [
-                {
-                    "op": "q1",
-                    "as": "lowerBox",
-                    "field": "people"
-                },
-                {
-                    "op": "q3",
-                    "as": "upperBox",
-                    "field": "people"
-                },
-                {
-                    "op": "median",
-                    "as": "midBox",
-                    "field": "people"
-                }
-            ]
-        },
-        {
-            "as": "IQR",
-            "calculate": "datum.upperBox - datum.lowerBox"
-        },
-        {
-            "as": "upperWhisker",
-            "calculate": "datum.upperBox + datum.IQR * 1.5"
-        },
-        {
-            "as": "lowerWhisker",
-            "calculate": "max(0,datum.lowerBox - datum.IQR *1.5)"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A Tukey box plot showing median and interquartile range in the US population distribution of age groups in 2000. This isn't strictly a Tukey box plot as the IQR extends beyond the min/max values for some age cohorts.",
+    "encoding": {
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": {
-                "style": "boxWhisker",
-                "type": "rule"
-            },
             "encoding": {
-                "y2": {
-                    "field": "lowerBox"
-                },
                 "y": {
-                    "field": "lowerWhisker",
-                    "type": "quantitative",
                     "axis": {
                         "title": "Population"
-                    }
+                    },
+                    "field": "lowerWhisker",
+                    "type": "quantitative"
+                },
+                "y2": {
+                    "field": "lowerBox"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "boxWhisker",
                 "type": "rule"
-            },
+            }
+        },
+        {
             "encoding": {
-                "y2": {
-                    "field": "upperWhisker"
-                },
                 "y": {
                     "field": "upperBox",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "upperWhisker"
                 }
+            },
+            "mark": {
+                "style": "boxWhisker",
+                "type": "rule"
             }
         },
         {
-            "mark": {
-                "style": "box",
-                "type": "bar"
-            },
             "encoding": {
                 "size": {
                     "value": 5
                 },
-                "y2": {
-                    "field": "upperBox"
-                },
                 "y": {
                     "field": "lowerBox",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "upperBox"
                 }
+            },
+            "mark": {
+                "style": "box",
+                "type": "bar"
             }
         },
         {
-            "mark": {
-                "style": "boxMid",
-                "type": "tick"
-            },
             "encoding": {
                 "color": {
                     "value": "white"
@@ -107,14 +74,47 @@
                     "field": "midBox",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "style": "boxMid",
+                "type": "tick"
             }
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "age",
-            "type": "ordinal"
+    "transform": [
+        {
+            "aggregate": [
+                {
+                    "as": "lowerBox",
+                    "field": "people",
+                    "op": "q1"
+                },
+                {
+                    "as": "upperBox",
+                    "field": "people",
+                    "op": "q3"
+                },
+                {
+                    "as": "midBox",
+                    "field": "people",
+                    "op": "median"
+                }
+            ],
+            "groupby": [
+                "age"
+            ]
+        },
+        {
+            "as": "IQR",
+            "calculate": "datum.upperBox - datum.lowerBox"
+        },
+        {
+            "as": "upperWhisker",
+            "calculate": "datum.upperBox + datum.IQR * 1.5"
+        },
+        {
+            "as": "lowerWhisker",
+            "calculate": "max(0,datum.lowerBox - datum.IQR *1.5)"
         }
-    },
-    "description": "A Tukey box plot showing median and interquartile range in the US population distribution of age groups in 2000. This isn't strictly a Tukey box plot as the IQR extends beyond the min/max values for some age cohorts."
+    ]
 }
diff --git a/tests/specs/gallery/dist/quantile1.vl b/tests/specs/gallery/dist/quantile1.vl
--- a/tests/specs/gallery/dist/quantile1.vl
+++ b/tests/specs/gallery/dist/quantile1.vl
@@ -1,25 +1,10 @@
 {
-    "transform": [
-        {
-            "as": [
-                "p",
-                "v"
-            ],
-            "quantile": "u",
-            "step": 1.0e-2
-        },
-        {
-            "as": "unif",
-            "calculate": "quantileUniform(datum.p)"
-        },
-        {
-            "as": "norm",
-            "calculate": "quantileNormal(datum.p)"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/normal-2d.json"
+    },
     "hconcat": [
         {
-            "mark": "point",
             "encoding": {
                 "x": {
                     "field": "unif",
@@ -29,10 +14,10 @@
                     "field": "v",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point"
         },
         {
-            "mark": "point",
             "encoding": {
                 "x": {
                     "field": "norm",
@@ -42,11 +27,26 @@
                     "field": "v",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point"
         }
     ],
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/normal-2d.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "transform": [
+        {
+            "as": [
+                "p",
+                "v"
+            ],
+            "quantile": "u",
+            "step": 1.0e-2
+        },
+        {
+            "as": "unif",
+            "calculate": "quantileUniform(datum.p)"
+        },
+        {
+            "as": "norm",
+            "calculate": "quantileNormal(datum.p)"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/error/error1.vl b/tests/specs/gallery/error/error1.vl
--- a/tests/specs/gallery/error/error1.vl
+++ b/tests/specs/gallery/error/error1.vl
@@ -1,51 +1,51 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Error bars showing confidence intervals",
+    "encoding": {
+        "y": {
+            "field": "variety",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": {
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "color": {
                     "value": "black"
                 },
                 "x": {
+                    "aggregate": "mean",
+                    "axis": {
+                        "title": "Barley Yield"
+                    },
                     "field": "yield",
                     "scale": {
                         "zero": false
                     },
-                    "aggregate": "mean",
-                    "type": "quantitative",
-                    "axis": {
-                        "title": "Barley Yield"
-                    }
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "filled": true,
+                "type": "point"
             }
         },
         {
-            "mark": "rule",
             "encoding": {
-                "x2": {
-                    "field": "yield",
-                    "aggregate": "ci1"
-                },
                 "x": {
-                    "field": "yield",
                     "aggregate": "ci0",
+                    "field": "yield",
                     "type": "quantitative"
+                },
+                "x2": {
+                    "aggregate": "ci1",
+                    "field": "yield"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "y": {
-            "field": "variety",
-            "type": "ordinal"
+            },
+            "mark": "rule"
         }
-    },
-    "description": "Error bars showing confidence intervals"
+    ]
 }
diff --git a/tests/specs/gallery/error/error2.vl b/tests/specs/gallery/error/error2.vl
--- a/tests/specs/gallery/error/error2.vl
+++ b/tests/specs/gallery/error/error2.vl
@@ -1,75 +1,75 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "variety"
-            ],
-            "aggregate": [
-                {
-                    "op": "mean",
-                    "as": "mean",
-                    "field": "yield"
-                },
-                {
-                    "op": "stdev",
-                    "as": "stdev",
-                    "field": "yield"
-                }
-            ]
-        },
-        {
-            "as": "lower",
-            "calculate": "datum.mean-datum.stdev"
-        },
-        {
-            "as": "upper",
-            "calculate": "datum.mean+datum.stdev"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Error bars showing standard deviations",
+    "encoding": {
+        "y": {
+            "field": "variety",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": {
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "color": {
                     "value": "black"
                 },
                 "x": {
+                    "axis": {
+                        "title": "Barley Yield"
+                    },
                     "field": "mean",
                     "scale": {
                         "zero": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": "Barley Yield"
-                    }
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "filled": true,
+                "type": "point"
             }
         },
         {
-            "mark": "rule",
             "encoding": {
-                "x2": {
-                    "field": "lower"
-                },
                 "x": {
                     "field": "upper",
                     "type": "quantitative"
+                },
+                "x2": {
+                    "field": "lower"
                 }
-            }
+            },
+            "mark": "rule"
         }
     ],
-    "encoding": {
-        "y": {
-            "field": "variety",
-            "type": "ordinal"
+    "transform": [
+        {
+            "aggregate": [
+                {
+                    "as": "mean",
+                    "field": "yield",
+                    "op": "mean"
+                },
+                {
+                    "as": "stdev",
+                    "field": "yield",
+                    "op": "stdev"
+                }
+            ],
+            "groupby": [
+                "variety"
+            ]
+        },
+        {
+            "as": "lower",
+            "calculate": "datum.mean-datum.stdev"
+        },
+        {
+            "as": "upper",
+            "calculate": "datum.mean+datum.stdev"
         }
-    },
-    "description": "Error bars showing standard deviations"
+    ]
 }
diff --git a/tests/specs/gallery/error/error3.vl b/tests/specs/gallery/error/error3.vl
--- a/tests/specs/gallery/error/error3.vl
+++ b/tests/specs/gallery/error/error3.vl
@@ -1,46 +1,46 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Line chart with confidence interval band.",
+    "encoding": {
+        "x": {
+            "field": "Year",
+            "timeUnit": "year",
+            "type": "temporal"
+        }
+    },
     "layer": [
         {
-            "mark": "area",
             "encoding": {
                 "opacity": {
                     "value": 0.3
                 },
-                "y2": {
-                    "field": "Miles_per_Gallon",
-                    "aggregate": "ci1"
-                },
                 "y": {
-                    "field": "Miles_per_Gallon",
                     "aggregate": "ci0",
-                    "type": "quantitative",
                     "axis": {
                         "title": "Miles/Gallon"
-                    }
+                    },
+                    "field": "Miles_per_Gallon",
+                    "type": "quantitative"
+                },
+                "y2": {
+                    "aggregate": "ci1",
+                    "field": "Miles_per_Gallon"
                 }
-            }
+            },
+            "mark": "area"
         },
         {
-            "mark": "line",
             "encoding": {
                 "y": {
-                    "field": "Miles_per_Gallon",
                     "aggregate": "mean",
+                    "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "Year",
-            "timeUnit": "year",
-            "type": "temporal"
+            },
+            "mark": "line"
         }
-    },
-    "description": "Line chart with confidence interval band."
+    ]
 }
diff --git a/tests/specs/gallery/error/error4.vl b/tests/specs/gallery/error/error4.vl
--- a/tests/specs/gallery/error/error4.vl
+++ b/tests/specs/gallery/error/error4.vl
@@ -1,11 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A scatterplot showing horsepower and miles per gallon for various cars with a global mean and standard deviation overlay.",
     "layer": [
         {
-            "mark": "point",
             "encoding": {
                 "x": {
                     "field": "Horsepower",
@@ -15,61 +15,61 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point"
         },
         {
-            "transform": [
-                {
-                    "groupby": [],
-                    "aggregate": [
-                        {
-                            "op": "mean",
-                            "as": "mean_MPG",
-                            "field": "Miles_per_Gallon"
-                        },
-                        {
-                            "op": "stdev",
-                            "as": "dev_MPG",
-                            "field": "Miles_per_Gallon"
-                        }
-                    ]
-                },
-                {
-                    "as": "upper",
-                    "calculate": "datum.mean_MPG+datum.dev_MPG"
-                },
-                {
-                    "as": "lower",
-                    "calculate": "datum.mean_MPG-datum.dev_MPG"
-                }
-            ],
             "layer": [
                 {
-                    "mark": "rule",
                     "encoding": {
                         "y": {
                             "field": "mean_MPG",
                             "type": "quantitative"
                         }
-                    }
+                    },
+                    "mark": "rule"
                 },
                 {
-                    "mark": "rect",
                     "encoding": {
                         "opacity": {
                             "value": 0.2
                         },
-                        "y2": {
-                            "field": "upper"
-                        },
                         "y": {
                             "field": "lower",
                             "type": "quantitative"
+                        },
+                        "y2": {
+                            "field": "upper"
                         }
-                    }
+                    },
+                    "mark": "rect"
                 }
+            ],
+            "transform": [
+                {
+                    "aggregate": [
+                        {
+                            "as": "mean_MPG",
+                            "field": "Miles_per_Gallon",
+                            "op": "mean"
+                        },
+                        {
+                            "as": "dev_MPG",
+                            "field": "Miles_per_Gallon",
+                            "op": "stdev"
+                        }
+                    ],
+                    "groupby": []
+                },
+                {
+                    "as": "upper",
+                    "calculate": "datum.mean_MPG+datum.dev_MPG"
+                },
+                {
+                    "as": "lower",
+                    "calculate": "datum.mean_MPG-datum.dev_MPG"
+                }
             ]
         }
-    ],
-    "description": "A scatterplot showing horsepower and miles per gallon for various cars with a global mean and standard deviation overlay."
+    ]
 }
diff --git a/tests/specs/gallery/facet/facet1.vl b/tests/specs/gallery/facet/facet1.vl
--- a/tests/specs/gallery/facet/facet1.vl
+++ b/tests/specs/gallery/facet/facet1.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A trellis bar chart showing the US population distribution of age groups and gender in 2000",
     "encoding": {
         "color": {
             "field": "gender",
@@ -36,13 +24,25 @@
             "type": "ordinal"
         },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
     },
-    "description": "A trellis bar chart showing the US population distribution of age groups and gender in 2000"
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
+    }
 }
diff --git a/tests/specs/gallery/facet/facet2.vl b/tests/specs/gallery/facet/facet2.vl
--- a/tests/specs/gallery/facet/facet2.vl
+++ b/tests/specs/gallery/facet/facet2.vl
@@ -1,27 +1,27 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Barley crop yields in 1931 and 1932 shown as stacked bar charts",
     "encoding": {
         "color": {
             "field": "site",
             "type": "nominal"
         },
-        "x": {
-            "field": "yield",
-            "aggregate": "sum",
-            "type": "quantitative"
-        },
         "column": {
             "field": "year",
             "type": "ordinal"
         },
+        "x": {
+            "aggregate": "sum",
+            "field": "yield",
+            "type": "quantitative"
+        },
         "y": {
             "field": "variety",
             "type": "nominal"
         }
     },
-    "description": "Barley crop yields in 1931 and 1932 shown as stacked bar charts"
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/facet/facet3.vl b/tests/specs/gallery/facet/facet3.vl
--- a/tests/specs/gallery/facet/facet3.vl
+++ b/tests/specs/gallery/facet/facet3.vl
@@ -1,22 +1,22 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Scatterplots of movie takings vs profits for different MPAA ratings",
     "encoding": {
-        "x": {
-            "field": "Worldwide_Gross",
-            "type": "quantitative"
-        },
         "column": {
             "field": "MPAA_Rating",
             "type": "ordinal"
         },
+        "x": {
+            "field": "Worldwide_Gross",
+            "type": "quantitative"
+        },
         "y": {
             "field": "US_DVD_Sales",
             "type": "quantitative"
         }
     },
-    "description": "Scatterplots of movie takings vs profits for different MPAA ratings"
+    "mark": "point"
 }
diff --git a/tests/specs/gallery/facet/facet4.vl b/tests/specs/gallery/facet/facet4.vl
--- a/tests/specs/gallery/facet/facet4.vl
+++ b/tests/specs/gallery/facet/facet4.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Distributions of car engine power for different countries of origin",
     "encoding": {
         "row": {
             "field": "Origin",
@@ -11,10 +11,10 @@
             "type": "ordinal"
         },
         "x": {
-            "field": "Horsepower",
             "bin": {
                 "maxbins": 15
             },
+            "field": "Horsepower",
             "type": "quantitative"
         },
         "y": {
@@ -22,5 +22,5 @@
             "type": "quantitative"
         }
     },
-    "description": "Distributions of car engine power for different countries of origin"
+    "mark": "bar"
 }
diff --git a/tests/specs/gallery/facet/facet5.vl b/tests/specs/gallery/facet/facet5.vl
--- a/tests/specs/gallery/facet/facet5.vl
+++ b/tests/specs/gallery/facet/facet5.vl
@@ -1,10 +1,14 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/anscombe.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Anscombe's Quartet",
     "encoding": {
+        "column": {
+            "field": "Series",
+            "type": "ordinal"
+        },
         "opacity": {
             "value": 1
         },
@@ -15,10 +19,6 @@
             },
             "type": "quantitative"
         },
-        "column": {
-            "field": "Series",
-            "type": "ordinal"
-        },
         "y": {
             "field": "Y",
             "scale": {
@@ -27,5 +27,5 @@
             "type": "quantitative"
         }
     },
-    "description": "Anscombe's Quartet"
+    "mark": "circle"
 }
diff --git a/tests/specs/gallery/facet/facet6.vl b/tests/specs/gallery/facet/facet6.vl
--- a/tests/specs/gallery/facet/facet6.vl
+++ b/tests/specs/gallery/facet/facet6.vl
@@ -1,23 +1,33 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "columns": 2,
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "spec": {
-        "height": {
-            "step": 12
+    "description": "The Trellis display by Becker et al. helped establish small multiples as a 'powerful mechanism for understanding interactions in studies of how a response depends on explanatory variables'",
+    "facet": {
+        "field": "site",
+        "header": {
+            "title": null
         },
-        "mark": "point",
+        "sort": {
+            "field": "yield",
+            "op": "median"
+        },
+        "type": "ordinal"
+    },
+    "spec": {
         "encoding": {
             "color": {
                 "field": "year",
                 "type": "nominal"
             },
             "x": {
+                "aggregate": "median",
                 "field": "yield",
                 "scale": {
                     "zero": false
                 },
-                "aggregate": "median",
                 "type": "quantitative"
             },
             "y": {
@@ -28,20 +38,10 @@
                 },
                 "type": "ordinal"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "columns": 2,
-    "facet": {
-        "field": "site",
-        "header": {
-            "title": null
         },
-        "sort": {
-            "op": "median",
-            "field": "yield"
+        "height": {
+            "step": 12
         },
-        "type": "ordinal"
-    },
-    "description": "The Trellis display by Becker et al. helped establish small multiples as a 'powerful mechanism for understanding interactions in studies of how a response depends on explanatory variables'"
+        "mark": "point"
+    }
 }
diff --git a/tests/specs/gallery/facet/facet7.vl b/tests/specs/gallery/facet/facet7.vl
--- a/tests/specs/gallery/facet/facet7.vl
+++ b/tests/specs/gallery/facet/facet7.vl
@@ -1,59 +1,59 @@
 {
-    "height": 50,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": "area",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 300,
-    "resolve": {
-        "scale": {
-            "y": "independent"
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Stock prices of five large companies as a small multiples of area charts",
     "encoding": {
         "color": {
             "field": "symbol",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "row": {
             "field": "symbol",
             "header": {
+                "labelAlign": "left",
                 "labelAngle": 0,
-                "labelFontStyle": "italic",
                 "labelExpr": "'{' + datum.label + '}'",
-                "titleLineHeight": 20,
+                "labelFontStyle": "italic",
                 "title": [
                     "Stock",
                     "price"
                 ],
-                "labelAlign": "left"
+                "titleLineHeight": 20
             },
             "type": "nominal"
         },
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y",
                 "grid": false,
                 "title": null
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
-            "field": "price",
-            "type": "quantitative",
             "axis": {
                 "grid": false,
                 "title": null
-            }
+            },
+            "field": "price",
+            "type": "quantitative"
         }
     },
-    "description": "Stock prices of five large companies as a small multiples of area charts"
+    "height": 50,
+    "mark": "area",
+    "resolve": {
+        "scale": {
+            "y": "independent"
+        }
+    },
+    "width": 300
 }
diff --git a/tests/specs/gallery/facet/facet_bullet.vl b/tests/specs/gallery/facet/facet_bullet.vl
--- a/tests/specs/gallery/facet/facet_bullet.vl
+++ b/tests/specs/gallery/facet/facet_bullet.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "tick": {
             "thickness": 2
@@ -7,183 +8,182 @@
     "data": {
         "values": [
             {
+                "markers": [
+                    250
+                ],
                 "measures": [
                     220,
                     270
                 ],
-                "markers": [
-                    250
-                ],
-                "subtitle": "US$, in thousands",
                 "ranges": [
                     150,
                     225,
                     300
                 ],
+                "subtitle": "US$, in thousands",
                 "title": "Revenue"
             },
             {
+                "markers": [
+                    26
+                ],
                 "measures": [
                     21,
                     23
                 ],
-                "markers": [
-                    26
-                ],
-                "subtitle": "%",
                 "ranges": [
                     20,
                     25,
                     30
                 ],
+                "subtitle": "%",
                 "title": "Profit"
             },
             {
+                "markers": [
+                    550
+                ],
                 "measures": [
                     100,
                     320
                 ],
-                "markers": [
-                    550
-                ],
-                "subtitle": "US$, average",
                 "ranges": [
                     350,
                     500,
                     600
                 ],
+                "subtitle": "US$, average",
                 "title": "Order Size"
             },
             {
+                "markers": [
+                    2100
+                ],
                 "measures": [
                     1000,
                     1650
                 ],
-                "markers": [
-                    2100
-                ],
-                "subtitle": "count",
                 "ranges": [
                     1400,
                     2000,
                     2500
                 ],
+                "subtitle": "count",
                 "title": "New Customers"
             },
             {
+                "markers": [
+                    4.4
+                ],
                 "measures": [
                     3.2,
                     4.7
                 ],
-                "markers": [
-                    4.4
-                ],
-                "subtitle": "out of 5",
                 "ranges": [
                     3.5,
                     4.25,
                     5
                 ],
+                "subtitle": "out of 5",
                 "title": "Satisfaction"
             }
         ]
     },
+    "facet": {
+        "row": {
+            "field": "title",
+            "header": {
+                "labelAngle": 0,
+                "title": null
+            },
+            "type": "ordinal"
+        }
+    },
     "resolve": {
         "scale": {
             "x": "independent"
         }
     },
+    "spacing": 10,
     "spec": {
+        "encoding": {
+            "x": {
+                "scale": {
+                    "nice": false
+                },
+                "title": null,
+                "type": "quantitative"
+            }
+        },
         "layer": [
             {
-                "mark": {
-                    "color": "#eee",
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "ranges[2]"
                     }
+                },
+                "mark": {
+                    "color": "#eee",
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "#ddd",
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "ranges[1]"
                     }
+                },
+                "mark": {
+                    "color": "#ddd",
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "#ccc",
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "ranges[0]"
                     }
+                },
+                "mark": {
+                    "color": "#ccc",
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "lightsteelblue",
-                    "size": 10,
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "measures[1]"
                     }
-                }
-            },
-            {
+                },
                 "mark": {
-                    "color": "steelblue",
+                    "color": "lightsteelblue",
                     "size": 10,
                     "type": "bar"
-                },
+                }
+            },
+            {
                 "encoding": {
                     "x": {
                         "field": "measures[0]"
                     }
+                },
+                "mark": {
+                    "color": "steelblue",
+                    "size": 10,
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "black",
-                    "type": "tick"
-                },
                 "encoding": {
                     "x": {
                         "field": "markers[0]"
                     }
-                }
-            }
-        ],
-        "encoding": {
-            "x": {
-                "scale": {
-                    "nice": false
                 },
-                "title": null,
-                "type": "quantitative"
+                "mark": {
+                    "color": "black",
+                    "type": "tick"
+                }
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "facet": {
-        "row": {
-            "field": "title",
-            "header": {
-                "labelAngle": 0,
-                "title": null
-            },
-            "type": "ordinal"
-        }
-    },
-    "spacing": 10
+        ]
+    }
 }
diff --git a/tests/specs/gallery/facet/facetgridbar.vl b/tests/specs/gallery/facet/facetgridbar.vl
--- a/tests/specs/gallery/facet/facetgridbar.vl
+++ b/tests/specs/gallery/facet/facetgridbar.vl
@@ -1,186 +1,187 @@
 {
-    "height": {
-        "step": 8
-    },
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "p": "0.14",
                 "a": "a1",
                 "b": "b1",
-                "c": "x"
+                "c": "x",
+                "p": "0.14"
             },
             {
-                "p": "0.60",
                 "a": "a1",
                 "b": "b1",
-                "c": "y"
+                "c": "y",
+                "p": "0.60"
             },
             {
-                "p": "0.03",
                 "a": "a1",
                 "b": "b1",
-                "c": "z"
+                "c": "z",
+                "p": "0.03"
             },
             {
-                "p": "0.80",
                 "a": "a1",
                 "b": "b2",
-                "c": "x"
+                "c": "x",
+                "p": "0.80"
             },
             {
-                "p": "0.38",
                 "a": "a1",
                 "b": "b2",
-                "c": "y"
+                "c": "y",
+                "p": "0.38"
             },
             {
-                "p": "0.55",
                 "a": "a1",
                 "b": "b2",
-                "c": "z"
+                "c": "z",
+                "p": "0.55"
             },
             {
-                "p": "0.11",
                 "a": "a1",
                 "b": "b3",
-                "c": "x"
+                "c": "x",
+                "p": "0.11"
             },
             {
-                "p": "0.58",
                 "a": "a1",
                 "b": "b3",
-                "c": "y"
+                "c": "y",
+                "p": "0.58"
             },
             {
-                "p": "0.79",
                 "a": "a1",
                 "b": "b3",
-                "c": "z"
+                "c": "z",
+                "p": "0.79"
             },
             {
-                "p": "0.83",
                 "a": "a2",
                 "b": "b1",
-                "c": "x"
+                "c": "x",
+                "p": "0.83"
             },
             {
-                "p": "0.87",
                 "a": "a2",
                 "b": "b1",
-                "c": "y"
+                "c": "y",
+                "p": "0.87"
             },
             {
-                "p": "0.67",
                 "a": "a2",
                 "b": "b1",
-                "c": "z"
+                "c": "z",
+                "p": "0.67"
             },
             {
-                "p": "0.97",
                 "a": "a2",
                 "b": "b2",
-                "c": "x"
+                "c": "x",
+                "p": "0.97"
             },
             {
-                "p": "0.84",
                 "a": "a2",
                 "b": "b2",
-                "c": "y"
+                "c": "y",
+                "p": "0.84"
             },
             {
-                "p": "0.90",
                 "a": "a2",
                 "b": "b2",
-                "c": "z"
+                "c": "z",
+                "p": "0.90"
             },
             {
-                "p": "0.74",
                 "a": "a2",
                 "b": "b3",
-                "c": "x"
+                "c": "x",
+                "p": "0.74"
             },
             {
-                "p": "0.64",
                 "a": "a2",
                 "b": "b3",
-                "c": "y"
+                "c": "y",
+                "p": "0.64"
             },
             {
-                "p": "0.19",
                 "a": "a2",
                 "b": "b3",
-                "c": "z"
+                "c": "z",
+                "p": "0.19"
             },
             {
-                "p": "0.57",
                 "a": "a3",
                 "b": "b1",
-                "c": "x"
+                "c": "x",
+                "p": "0.57"
             },
             {
-                "p": "0.35",
                 "a": "a3",
                 "b": "b1",
-                "c": "y"
+                "c": "y",
+                "p": "0.35"
             },
             {
-                "p": "0.49",
                 "a": "a3",
                 "b": "b1",
-                "c": "z"
+                "c": "z",
+                "p": "0.49"
             },
             {
-                "p": "0.91",
                 "a": "a3",
                 "b": "b2",
-                "c": "x"
+                "c": "x",
+                "p": "0.91"
             },
             {
-                "p": "0.38",
                 "a": "a3",
                 "b": "b2",
-                "c": "y"
+                "c": "y",
+                "p": "0.38"
             },
             {
-                "p": "0.91",
                 "a": "a3",
                 "b": "b2",
-                "c": "z"
+                "c": "z",
+                "p": "0.91"
             },
             {
-                "p": "0.99",
                 "a": "a3",
                 "b": "b3",
-                "c": "x"
+                "c": "x",
+                "p": "0.99"
             },
             {
-                "p": "0.80",
                 "a": "a3",
                 "b": "b3",
-                "c": "y"
+                "c": "y",
+                "p": "0.80"
             },
             {
-                "p": "0.37",
                 "a": "a3",
                 "b": "b3",
-                "c": "z"
+                "c": "z",
+                "p": "0.37"
             }
         ]
     },
-    "width": 60,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A simple grid of bar charts to compare performance data.",
     "encoding": {
         "color": {
             "field": "c",
-            "title": "settings",
-            "type": "nominal",
             "legend": {
                 "orient": "bottom",
                 "titleOrient": "left"
-            }
+            },
+            "title": "settings",
+            "type": "nominal"
         },
+        "column": {
+            "field": "b",
+            "title": "Factor B",
+            "type": "nominal"
+        },
         "row": {
             "field": "a",
             "header": {
@@ -190,24 +191,23 @@
             "type": "nominal"
         },
         "x": {
-            "field": "p",
-            "title": null,
-            "type": "quantitative",
             "axis": {
                 "format": "%"
-            }
-        },
-        "column": {
-            "field": "b",
-            "title": "Factor B",
-            "type": "nominal"
+            },
+            "field": "p",
+            "title": null,
+            "type": "quantitative"
         },
         "y": {
+            "axis": null,
             "field": "c",
-            "type": "nominal",
-            "axis": null
+            "type": "nominal"
         }
     },
-    "description": "A simple grid of bar charts to compare performance data.",
-    "spacing": 5
+    "height": {
+        "step": 8
+    },
+    "mark": "bar",
+    "spacing": 5,
+    "width": 60
 }
diff --git a/tests/specs/gallery/facet/trellisareaseattle.vl b/tests/specs/gallery/facet/trellisareaseattle.vl
--- a/tests/specs/gallery/facet/trellisareaseattle.vl
+++ b/tests/specs/gallery/facet/trellisareaseattle.vl
@@ -1,10 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "order",
-            "calculate": "(hours(datum.date) + 18) % 24"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "axis": {
             "domain": false,
@@ -14,56 +9,61 @@
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-temps.csv"
     },
-    "spec": {
-        "height": 25,
-        "mark": "area",
-        "width": 800,
-        "view": {
-            "stroke": null
-        },
-        "encoding": {
-            "x": {
-                "field": "date",
-                "title": "Month",
-                "type": "temporal",
-                "axis": {
-                    "format": "%b"
-                }
-            },
-            "y": {
-                "field": "temp",
-                "scale": {
-                    "zero": false
-                },
-                "type": "quantitative",
-                "axis": {
-                    "labels": false,
-                    "title": null,
-                    "ticks": false
-                }
-            }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Average temps in Seattle, by hour",
     "facet": {
         "row": {
             "field": "date",
-            "timeUnit": "hours",
             "header": {
+                "labelAlign": "left",
                 "labelAngle": 0,
                 "labelExpr": "hours(datum.value) == 0 ? 'Midnight' : hours(datum.value) == 12 ? 'Noon' : timeFormat(datum.value, '%I:%M %p')",
-                "titlePadding": -4,
                 "labelPadding": 2,
-                "labelAlign": "left"
+                "titlePadding": -4
             },
             "sort": {
-                "op": "max",
-                "field": "order"
+                "field": "order",
+                "op": "max"
             },
+            "timeUnit": "hours",
             "type": "nominal"
         }
     },
+    "spacing": 1,
+    "spec": {
+        "encoding": {
+            "x": {
+                "axis": {
+                    "format": "%b"
+                },
+                "field": "date",
+                "title": "Month",
+                "type": "temporal"
+            },
+            "y": {
+                "axis": {
+                    "labels": false,
+                    "ticks": false,
+                    "title": null
+                },
+                "field": "temp",
+                "scale": {
+                    "zero": false
+                },
+                "type": "quantitative"
+            }
+        },
+        "height": 25,
+        "mark": "area",
+        "view": {
+            "stroke": null
+        },
+        "width": 800
+    },
     "title": "Seattle Annual Temperatures",
-    "description": "Average temps in Seattle, by hour",
-    "spacing": 1
+    "transform": [
+        {
+            "as": "order",
+            "calculate": "(hours(datum.date) + 18) % 24"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/geo/geo1.vl b/tests/specs/gallery/geo/geo1.vl
--- a/tests/specs/gallery/geo/geo1.vl
+++ b/tests/specs/gallery/geo/geo1.vl
@@ -1,36 +1,16 @@
 {
-    "transform": [
-        {
-            "from": {
-                "data": {
-                    "url": "https://vega.github.io/vega-lite/data/unemployment.tsv"
-                },
-                "key": "id",
-                "fields": [
-                    "rate"
-                ]
-            },
-            "lookup": "id"
-        }
-    ],
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": "geoshape",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/us-10m.json",
         "format": {
             "feature": "counties",
             "type": "topojson"
-        }
-    },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
+        },
+        "url": "https://vega.github.io/vega-lite/data/us-10m.json"
     },
     "encoding": {
         "color": {
@@ -38,5 +18,25 @@
             "sort": "descending",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "geoshape",
+    "projection": {
+        "type": "albersUsa"
+    },
+    "transform": [
+        {
+            "from": {
+                "data": {
+                    "url": "https://vega.github.io/vega-lite/data/unemployment.tsv"
+                },
+                "fields": [
+                    "rate"
+                ],
+                "key": "id"
+            },
+            "lookup": "id"
+        }
+    ],
+    "width": 500
 }
diff --git a/tests/specs/gallery/geo/geo2.vl b/tests/specs/gallery/geo/geo2.vl
--- a/tests/specs/gallery/geo/geo2.vl
+++ b/tests/specs/gallery/geo/geo2.vl
@@ -1,33 +1,19 @@
 {
-    "transform": [
-        {
-            "as": "digit",
-            "calculate": "substring(datum.zip_code, 0, 1)"
-        }
-    ],
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": "circle",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/zipcodes.csv"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "US zip codes: One dot per zipcode colored by first digit",
     "encoding": {
         "color": {
             "field": "digit",
             "type": "nominal"
         },
-        "size": {
-            "value": 1
-        },
         "latitude": {
             "field": "latitude",
             "type": "quantitative"
@@ -35,7 +21,21 @@
         "longitude": {
             "field": "longitude",
             "type": "quantitative"
+        },
+        "size": {
+            "value": 1
         }
     },
-    "description": "US zip codes: One dot per zipcode colored by first digit"
+    "height": 300,
+    "mark": "circle",
+    "projection": {
+        "type": "albersUsa"
+    },
+    "transform": [
+        {
+            "as": "digit",
+            "calculate": "substring(datum.zip_code, 0, 1)"
+        }
+    ],
+    "width": 500
 }
diff --git a/tests/specs/gallery/geo/geo3.vl b/tests/specs/gallery/geo/geo3.vl
--- a/tests/specs/gallery/geo/geo3.vl
+++ b/tests/specs/gallery/geo/geo3.vl
@@ -1,33 +1,29 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "One dot per airport in the US overlayed on geoshape",
+    "height": 300,
     "layer": [
         {
-            "mark": "geoshape",
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/us-10m.json",
                 "format": {
                     "feature": "states",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/us-10m.json"
             },
             "encoding": {
                 "color": {
                     "value": "#eee"
                 }
-            }
+            },
+            "mark": "geoshape"
         },
         {
-            "mark": "circle",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/airports.csv"
             },
@@ -35,9 +31,6 @@
                 "color": {
                     "value": "steelblue"
                 },
-                "size": {
-                    "value": 5
-                },
                 "latitude": {
                     "field": "latitude",
                     "type": "quantitative"
@@ -45,9 +38,16 @@
                 "longitude": {
                     "field": "longitude",
                     "type": "quantitative"
+                },
+                "size": {
+                    "value": 5
                 }
-            }
+            },
+            "mark": "circle"
         }
     ],
-    "description": "One dot per airport in the US overlayed on geoshape"
+    "projection": {
+        "type": "albersUsa"
+    },
+    "width": 500
 }
diff --git a/tests/specs/gallery/geo/geo4.vl b/tests/specs/gallery/geo/geo4.vl
--- a/tests/specs/gallery/geo/geo4.vl
+++ b/tests/specs/gallery/geo/geo4.vl
@@ -1,33 +1,29 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "Rules (line segments) connecting SEA to every airport reachable via direct flight",
+    "height": 500,
     "layer": [
         {
-            "mark": "geoshape",
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/us-10m.json",
                 "format": {
                     "feature": "states",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/us-10m.json"
             },
             "encoding": {
                 "color": {
                     "value": "#eee"
                 }
-            }
+            },
+            "mark": "geoshape"
         },
         {
-            "mark": "circle",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/airports.csv"
             },
@@ -35,9 +31,6 @@
                 "color": {
                     "value": "gray"
                 },
-                "size": {
-                    "value": 5
-                },
                 "latitude": {
                     "field": "latitude",
                     "type": "quantitative"
@@ -45,10 +38,34 @@
                 "longitude": {
                     "field": "longitude",
                     "type": "quantitative"
+                },
+                "size": {
+                    "value": 5
                 }
-            }
+            },
+            "mark": "circle"
         },
         {
+            "data": {
+                "url": "https://vega.github.io/vega-lite/data/flights-airport.csv"
+            },
+            "encoding": {
+                "latitude": {
+                    "field": "o.latitude",
+                    "type": "quantitative"
+                },
+                "latitude2": {
+                    "field": "d.latitude"
+                },
+                "longitude": {
+                    "field": "o.longitude",
+                    "type": "quantitative"
+                },
+                "longitude2": {
+                    "field": "d.longitude"
+                }
+            },
+            "mark": "rule",
             "transform": [
                 {
                     "filter": {
@@ -76,28 +93,11 @@
                     },
                     "lookup": "destination"
                 }
-            ],
-            "mark": "rule",
-            "data": {
-                "url": "https://vega.github.io/vega-lite/data/flights-airport.csv"
-            },
-            "encoding": {
-                "latitude": {
-                    "field": "o.latitude",
-                    "type": "quantitative"
-                },
-                "latitude2": {
-                    "field": "d.latitude"
-                },
-                "longitude": {
-                    "field": "o.longitude",
-                    "type": "quantitative"
-                },
-                "longitude2": {
-                    "field": "d.longitude"
-                }
-            }
+            ]
         }
     ],
-    "description": "Rules (line segments) connecting SEA to every airport reachable via direct flight"
+    "projection": {
+        "type": "albersUsa"
+    },
+    "width": 800
 }
diff --git a/tests/specs/gallery/geo/geo5.vl b/tests/specs/gallery/geo/geo5.vl
--- a/tests/specs/gallery/geo/geo5.vl
+++ b/tests/specs/gallery/geo/geo5.vl
@@ -1,14 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "resolve": {
-        "scale": {
-            "color": "independent"
-        }
-    },
+    "description": "Population per state, engineers per state, and hurricanes per state",
     "repeat": {
         "row": [
             "population",
@@ -16,32 +13,15 @@
             "hurricanes"
         ]
     },
+    "resolve": {
+        "scale": {
+            "color": "independent"
+        }
+    },
     "spec": {
-        "transform": [
-            {
-                "as": "geo",
-                "from": {
-                    "data": {
-                        "url": "https://vega.github.io/vega-lite/data/us-10m.json",
-                        "format": {
-                            "feature": "states",
-                            "type": "topojson"
-                        }
-                    },
-                    "key": "id"
-                },
-                "lookup": "id"
-            }
-        ],
-        "height": 300,
-        "mark": "geoshape",
         "data": {
             "url": "https://vega.github.io/vega-lite/data/population_engineers_hurricanes.csv"
         },
-        "width": 500,
-        "projection": {
-            "type": "albersUsa"
-        },
         "encoding": {
             "color": {
                 "field": {
@@ -54,8 +34,28 @@
                 "field": "geo",
                 "type": "geojson"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Population per state, engineers per state, and hurricanes per state"
+        },
+        "height": 300,
+        "mark": "geoshape",
+        "projection": {
+            "type": "albersUsa"
+        },
+        "transform": [
+            {
+                "as": "geo",
+                "from": {
+                    "data": {
+                        "format": {
+                            "feature": "states",
+                            "type": "topojson"
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/us-10m.json"
+                    },
+                    "key": "id"
+                },
+                "lookup": "id"
+            }
+        ],
+        "width": 500
+    }
 }
diff --git a/tests/specs/gallery/geo/geo6.vl b/tests/specs/gallery/geo/geo6.vl
--- a/tests/specs/gallery/geo/geo6.vl
+++ b/tests/specs/gallery/geo/geo6.vl
@@ -1,41 +1,33 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "US state capitals overlayed on map of the US",
+    "height": 500,
     "layer": [
         {
-            "mark": "geoshape",
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/us-10m.json",
                 "format": {
                     "feature": "states",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/us-10m.json"
             },
             "encoding": {
                 "color": {
                     "value": "#ccc"
                 }
-            }
+            },
+            "mark": "geoshape"
         },
         {
-            "mark": "text",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/us-state-capitals.json"
             },
             "encoding": {
-                "text": {
-                    "field": "city",
-                    "type": "nominal"
-                },
                 "latitude": {
                     "field": "lat",
                     "type": "quantitative"
@@ -43,9 +35,17 @@
                 "longitude": {
                     "field": "lon",
                     "type": "quantitative"
+                },
+                "text": {
+                    "field": "city",
+                    "type": "nominal"
                 }
-            }
+            },
+            "mark": "text"
         }
     ],
-    "description": "US state capitals overlayed on map of the US"
+    "projection": {
+        "type": "albersUsa"
+    },
+    "width": 800
 }
diff --git a/tests/specs/gallery/geo/geo7.vl b/tests/specs/gallery/geo/geo7.vl
--- a/tests/specs/gallery/geo/geo7.vl
+++ b/tests/specs/gallery/geo/geo7.vl
@@ -1,33 +1,29 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "Line drawn between airports in the U.S. simulating a flight itinerary",
+    "height": 500,
     "layer": [
         {
-            "mark": "geoshape",
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/us-10m.json",
                 "format": {
                     "feature": "states",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/us-10m.json"
             },
             "encoding": {
                 "color": {
                     "value": "#eee"
                 }
-            }
+            },
+            "mark": "geoshape"
         },
         {
-            "mark": "circle",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/airports.csv"
             },
@@ -35,9 +31,6 @@
                 "color": {
                     "value": "gray"
                 },
-                "size": {
-                    "value": 5
-                },
                 "latitude": {
                     "field": "latitude",
                     "type": "quantitative"
@@ -45,26 +38,14 @@
                 "longitude": {
                     "field": "longitude",
                     "type": "quantitative"
+                },
+                "size": {
+                    "value": 5
                 }
-            }
+            },
+            "mark": "circle"
         },
         {
-            "transform": [
-                {
-                    "from": {
-                        "data": {
-                            "url": "https://vega.github.io/vega-lite/data/airports.csv"
-                        },
-                        "key": "iata",
-                        "fields": [
-                            "latitude",
-                            "longitude"
-                        ]
-                    },
-                    "lookup": "airport"
-                }
-            ],
-            "mark": "line",
             "data": {
                 "values": [
                     {
@@ -117,8 +98,27 @@
                 "order": {
                     "field": "order"
                 }
-            }
+            },
+            "mark": "line",
+            "transform": [
+                {
+                    "from": {
+                        "data": {
+                            "url": "https://vega.github.io/vega-lite/data/airports.csv"
+                        },
+                        "fields": [
+                            "latitude",
+                            "longitude"
+                        ],
+                        "key": "iata"
+                    },
+                    "lookup": "airport"
+                }
+            ]
         }
     ],
-    "description": "Line drawn between airports in the U.S. simulating a flight itinerary"
+    "projection": {
+        "type": "albersUsa"
+    },
+    "width": 800
 }
diff --git a/tests/specs/gallery/geo/geo8.vl b/tests/specs/gallery/geo/geo8.vl
--- a/tests/specs/gallery/geo/geo8.vl
+++ b/tests/specs/gallery/geo/geo8.vl
@@ -1,49 +1,49 @@
 {
-    "transform": [
-        {
-            "as": "geo",
-            "from": {
-                "data": {
-                    "url": "https://vega.github.io/vega-lite/data/us-10m.json",
-                    "format": {
-                        "feature": "states",
-                        "type": "topojson"
-                    }
-                },
-                "key": "id"
-            },
-            "lookup": "id"
-        }
-    ],
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": "geoshape",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/income.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "Income in the U.S. by state, faceted over income brackets",
     "encoding": {
         "color": {
             "field": "pct",
             "sort": "descending",
             "type": "quantitative"
         },
-        "shape": {
-            "field": "geo",
-            "type": "geojson"
-        },
         "row": {
             "field": "group",
             "type": "nominal"
+        },
+        "shape": {
+            "field": "geo",
+            "type": "geojson"
         }
     },
-    "description": "Income in the U.S. by state, faceted over income brackets"
+    "height": 300,
+    "mark": "geoshape",
+    "projection": {
+        "type": "albersUsa"
+    },
+    "transform": [
+        {
+            "as": "geo",
+            "from": {
+                "data": {
+                    "format": {
+                        "feature": "states",
+                        "type": "topojson"
+                    },
+                    "url": "https://vega.github.io/vega-lite/data/us-10m.json"
+                },
+                "key": "id"
+            },
+            "lookup": "id"
+        }
+    ],
+    "width": 500
 }
diff --git a/tests/specs/gallery/geo/geo9.vl b/tests/specs/gallery/geo/geo9.vl
--- a/tests/specs/gallery/geo/geo9.vl
+++ b/tests/specs/gallery/geo/geo9.vl
@@ -1,80 +1,80 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 700,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Geographic position of London underground lines",
+    "height": 500,
     "layer": [
         {
-            "mark": {
-                "strokeWidth": 2,
-                "stroke": "rgb(251,247,238)",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json",
                 "format": {
                     "feature": "boroughs",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json"
             },
             "encoding": {
                 "color": {
                     "value": "#ddc"
                 }
+            },
+            "mark": {
+                "stroke": "rgb(251,247,238)",
+                "strokeWidth": 2,
+                "type": "geoshape"
             }
         },
         {
-            "transform": [
-                {
-                    "as": "bLabel",
-                    "calculate": "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
-                }
-            ],
-            "mark": "text",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/londonCentroids.json"
             },
             "encoding": {
-                "size": {
-                    "value": 8
-                },
-                "text": {
-                    "field": "bLabel",
-                    "type": "nominal"
-                },
                 "latitude": {
                     "field": "cy",
                     "type": "quantitative"
                 },
-                "opacity": {
-                    "value": 0.6
-                },
                 "longitude": {
                     "field": "cx",
                     "type": "quantitative"
+                },
+                "opacity": {
+                    "value": 0.6
+                },
+                "size": {
+                    "value": 8
+                },
+                "text": {
+                    "field": "bLabel",
+                    "type": "nominal"
                 }
-            }
+            },
+            "mark": "text",
+            "transform": [
+                {
+                    "as": "bLabel",
+                    "calculate": "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
+                }
+            ]
         },
         {
-            "mark": {
-                "strokeWidth": 2,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json",
                 "format": {
                     "feature": "line",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json"
             },
             "encoding": {
                 "color": {
                     "field": "id",
+                    "legend": {
+                        "offset": 0,
+                        "orient": "bottom-right",
+                        "title": null
+                    },
                     "scale": {
                         "domain": [
                             "Bakerloo",
@@ -105,15 +105,15 @@
                             "rgb(106,187,170)"
                         ]
                     },
-                    "type": "nominal",
-                    "legend": {
-                        "offset": 0,
-                        "orient": "bottom-right",
-                        "title": null
-                    }
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 2,
+                "type": "geoshape"
             }
         }
     ],
-    "description": "Geographic position of London underground lines"
+    "width": 700
 }
diff --git a/tests/specs/gallery/histogram/histogram_rel_freq.vl b/tests/specs/gallery/histogram/histogram_rel_freq.vl
--- a/tests/specs/gallery/histogram/histogram_rel_freq.vl
+++ b/tests/specs/gallery/histogram/histogram_rel_freq.vl
@@ -1,30 +1,62 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
+    "description": "Relative frequency histogram. The data is binned with first transform. The number of values per bin and the total number are calculated in the second and third transform to calculate the relative frequency in the last transformation step.",
+    "encoding": {
+        "x": {
+            "bin": {
+                "binned": true
+            },
+            "field": "bin_Horsepwoer",
+            "title": "Horsepower",
+            "type": "quantitative"
+        },
+        "x2": {
+            "field": "bin_Horsepwoer_end"
+        },
+        "y": {
+            "axis": {
+                "format": ".1~%"
+            },
+            "field": "PercentOfTotal",
+            "title": "Relative Frequency",
+            "type": "quantitative"
+        }
+    },
+    "mark": {
+        "tooltip": {
+            "content": "encoding"
+        },
+        "type": "bar"
+    },
     "transform": [
         {
             "as": "bin_Horsepwoer",
-            "field": "Horsepower",
             "bin": {
                 "binned": true
-            }
+            },
+            "field": "Horsepower"
         },
         {
-            "groupby": [
-                "bin_Horsepwoer",
-                "bin_Horsepwoer_end"
-            ],
             "aggregate": [
                 {
-                    "op": "count",
-                    "as": "Count"
+                    "as": "Count",
+                    "op": "count"
                 }
+            ],
+            "groupby": [
+                "bin_Horsepwoer",
+                "bin_Horsepwoer_end"
             ]
         },
         {
             "joinaggregate": [
                 {
-                    "op": "sum",
                     "as": "TotalCount",
-                    "field": "Count"
+                    "field": "Count",
+                    "op": "sum"
                 }
             ]
         },
@@ -32,37 +64,5 @@
             "as": "PercentOfTotal",
             "calculate": "datum.Count/datum.TotalCount"
         }
-    ],
-    "mark": {
-        "tooltip": {
-            "content": "encoding"
-        },
-        "type": "bar"
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x2": {
-            "field": "bin_Horsepwoer_end"
-        },
-        "x": {
-            "field": "bin_Horsepwoer",
-            "bin": {
-                "binned": true
-            },
-            "title": "Horsepower",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "PercentOfTotal",
-            "title": "Relative Frequency",
-            "type": "quantitative",
-            "axis": {
-                "format": ".1~%"
-            }
-        }
-    },
-    "description": "Relative frequency histogram. The data is binned with first transform. The number of values per bin and the total number are calculated in the second and third transform to calculate the relative frequency in the last transformation step."
+    ]
 }
diff --git a/tests/specs/gallery/interaction/interaction1.vl b/tests/specs/gallery/interaction/interaction1.vl
--- a/tests/specs/gallery/interaction/interaction1.vl
+++ b/tests/specs/gallery/interaction/interaction1.vl
@@ -1,15 +1,10 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "scale": {
             "bandPaddingInner": 0.2
         }
     },
-    "mark": {
-        "cursor": "pointer",
-        "stroke": "black",
-        "fill": "#4C78A8",
-        "type": "bar"
-    },
     "data": {
         "values": [
             {
@@ -50,23 +45,18 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "highlight": {
-            "empty": "none",
-            "type": "single",
-            "on": "mouseover"
-        },
-        "select": {
-            "type": "multi"
-        }
-    },
+    "description": "A bar chart with highlighting on hover and selecting on click. Inspired by Tableau's interaction style.",
     "encoding": {
+        "fillOpacity": {
+            "condition": {
+                "selection": "select",
+                "value": 1
+            },
+            "value": 0.3
+        },
         "strokeWidth": {
-            "value": 0,
             "condition": [
                 {
-                    "value": 2,
                     "test": {
                         "and": [
                             {
@@ -74,29 +64,39 @@
                             },
                             "length(data(\"select_store\"))"
                         ]
-                    }
+                    },
+                    "value": 2
                 },
                 {
-                    "value": 1,
-                    "selection": "highlight"
+                    "selection": "highlight",
+                    "value": 1
                 }
-            ]
+            ],
+            "value": 0
         },
         "x": {
             "field": "a",
             "type": "ordinal"
         },
-        "fillOpacity": {
-            "value": 0.3,
-            "condition": {
-                "value": 1,
-                "selection": "select"
-            }
-        },
         "y": {
             "field": "b",
             "type": "quantitative"
         }
     },
-    "description": "A bar chart with highlighting on hover and selecting on click. Inspired by Tableau's interaction style."
+    "mark": {
+        "cursor": "pointer",
+        "fill": "#4C78A8",
+        "stroke": "black",
+        "type": "bar"
+    },
+    "selection": {
+        "highlight": {
+            "empty": "none",
+            "on": "mouseover",
+            "type": "single"
+        },
+        "select": {
+            "type": "multi"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction10.vl b/tests/specs/gallery/interaction/interaction10.vl
--- a/tests/specs/gallery/interaction/interaction10.vl
+++ b/tests/specs/gallery/interaction/interaction10.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "axisY": {
             "minExtent": 30
@@ -7,74 +8,73 @@
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Multi Series Line Chart with Tooltip",
+    "encoding": {
+        "tooltip": [
+            {
+                "field": "date",
+                "timeUnit": "yearmonthdate",
+                "type": "temporal"
+            },
+            {
+                "field": "temp_max",
+                "type": "quantitative"
+            },
+            {
+                "field": "temp_min",
+                "type": "quantitative"
+            }
+        ],
+        "x": {
+            "field": "date",
+            "timeUnit": "yearmonthdate",
+            "type": "temporal"
+        }
+    },
     "layer": [
         {
-            "mark": {
-                "color": "orange",
-                "type": "line"
-            },
             "encoding": {
                 "y": {
                     "field": "temp_max",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "orange",
+                "type": "line"
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "type": "line"
-            },
             "encoding": {
                 "y": {
                     "field": "temp_min",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "type": "line"
             }
         },
         {
-            "mark": "rule",
-            "selection": {
-                "hover": {
-                    "empty": "none",
-                    "type": "single",
-                    "on": "mouseover"
-                }
-            },
             "encoding": {
                 "color": {
                     "condition": {
-                        "value": "transparent",
                         "selection": {
                             "not": "hover"
-                        }
+                        },
+                        "value": "transparent"
                     }
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "tooltip": [
-            {
-                "field": "date",
-                "timeUnit": "yearmonthdate",
-                "type": "temporal"
             },
-            {
-                "field": "temp_max",
-                "type": "quantitative"
-            },
-            {
-                "field": "temp_min",
-                "type": "quantitative"
+            "mark": "rule",
+            "selection": {
+                "hover": {
+                    "empty": "none",
+                    "on": "mouseover",
+                    "type": "single"
+                }
             }
-        ],
-        "x": {
-            "field": "date",
-            "timeUnit": "yearmonthdate",
-            "type": "temporal"
         }
-    },
-    "description": "Multi Series Line Chart with Tooltip"
+    ]
 }
diff --git a/tests/specs/gallery/interaction/interaction11a.vl b/tests/specs/gallery/interaction/interaction11a.vl
--- a/tests/specs/gallery/interaction/interaction11a.vl
+++ b/tests/specs/gallery/interaction/interaction11a.vl
@@ -1,22 +1,17 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "brush": {
-            "type": "interval"
-        }
-    },
+    "description": "Drag out a rectangular brush to highlight points.",
     "encoding": {
         "color": {
-            "value": "grey",
             "condition": {
                 "field": "Cylinders",
                 "selection": "brush",
                 "type": "ordinal"
-            }
+            },
+            "value": "grey"
         },
         "x": {
             "field": "Horsepower",
@@ -27,5 +22,10 @@
             "type": "quantitative"
         }
     },
-    "description": "Drag out a rectangular brush to highlight points."
+    "mark": "point",
+    "selection": {
+        "brush": {
+            "type": "interval"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction11b.vl b/tests/specs/gallery/interaction/interaction11b.vl
--- a/tests/specs/gallery/interaction/interaction11b.vl
+++ b/tests/specs/gallery/interaction/interaction11b.vl
@@ -1,28 +1,17 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "brush": {
-            "init": {
-                "x": [
-                    55,
-                    160
-                ]
-            },
-            "type": "interval"
-        }
-    },
+    "description": "Drag out a rectangular brush to highlight points.",
     "encoding": {
         "color": {
-            "value": "grey",
             "condition": {
                 "field": "Cylinders",
                 "selection": "brush",
                 "type": "ordinal"
-            }
+            },
+            "value": "grey"
         },
         "x": {
             "field": "Horsepower",
@@ -33,5 +22,16 @@
             "type": "quantitative"
         }
     },
-    "description": "Drag out a rectangular brush to highlight points."
+    "mark": "point",
+    "selection": {
+        "brush": {
+            "init": {
+                "x": [
+                    55,
+                    160
+                ]
+            },
+            "type": "interval"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction11c.vl b/tests/specs/gallery/interaction/interaction11c.vl
--- a/tests/specs/gallery/interaction/interaction11c.vl
+++ b/tests/specs/gallery/interaction/interaction11c.vl
@@ -1,28 +1,17 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "brush": {
-            "init": {
-                "y": [
-                    13,
-                    37
-                ]
-            },
-            "type": "interval"
-        }
-    },
+    "description": "Drag out a rectangular brush to highlight points.",
     "encoding": {
         "color": {
-            "value": "grey",
             "condition": {
                 "field": "Cylinders",
                 "selection": "brush",
                 "type": "ordinal"
-            }
+            },
+            "value": "grey"
         },
         "x": {
             "field": "Horsepower",
@@ -33,5 +22,16 @@
             "type": "quantitative"
         }
     },
-    "description": "Drag out a rectangular brush to highlight points."
+    "mark": "point",
+    "selection": {
+        "brush": {
+            "init": {
+                "y": [
+                    13,
+                    37
+                ]
+            },
+            "type": "interval"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction11d.vl b/tests/specs/gallery/interaction/interaction11d.vl
--- a/tests/specs/gallery/interaction/interaction11d.vl
+++ b/tests/specs/gallery/interaction/interaction11d.vl
@@ -1,32 +1,17 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "brush": {
-            "init": {
-                "x": [
-                    55,
-                    160
-                ],
-                "y": [
-                    13,
-                    37
-                ]
-            },
-            "type": "interval"
-        }
-    },
+    "description": "Drag out a rectangular brush to highlight points.",
     "encoding": {
         "color": {
-            "value": "grey",
             "condition": {
                 "field": "Cylinders",
                 "selection": "brush",
                 "type": "ordinal"
-            }
+            },
+            "value": "grey"
         },
         "x": {
             "field": "Horsepower",
@@ -37,5 +22,20 @@
             "type": "quantitative"
         }
     },
-    "description": "Drag out a rectangular brush to highlight points."
+    "mark": "point",
+    "selection": {
+        "brush": {
+            "init": {
+                "x": [
+                    55,
+                    160
+                ],
+                "y": [
+                    13,
+                    37
+                ]
+            },
+            "type": "interval"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction2.vl b/tests/specs/gallery/interaction/interaction2.vl
--- a/tests/specs/gallery/interaction/interaction2.vl
+++ b/tests/specs/gallery/interaction/interaction2.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "url",
-            "calculate": "'https://www.google.com/search?q=' + datum.Name"
-        }
-    ],
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Scatterplot with external links and tooltips",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -32,5 +26,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Scatterplot with external links and tooltips"
+    "mark": "point",
+    "transform": [
+        {
+            "as": "url",
+            "calculate": "'https://www.google.com/search?q=' + datum.Name"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/interaction/interaction3.vl b/tests/specs/gallery/interaction/interaction3.vl
--- a/tests/specs/gallery/interaction/interaction3.vl
+++ b/tests/specs/gallery/interaction/interaction3.vl
@@ -1,22 +1,17 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "myBrush": {
-            "type": "interval"
-        }
-    },
+    "description": "Drag out a rectangular brush to highlight points",
     "encoding": {
         "color": {
-            "value": "grey",
             "condition": {
                 "field": "Cylinders",
                 "selection": "myBrush",
                 "type": "ordinal"
-            }
+            },
+            "value": "grey"
         },
         "x": {
             "field": "Horsepower",
@@ -27,5 +22,10 @@
             "type": "quantitative"
         }
     },
-    "description": "Drag out a rectangular brush to highlight points"
+    "mark": "point",
+    "selection": {
+        "myBrush": {
+            "type": "interval"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction4.vl b/tests/specs/gallery/interaction/interaction4.vl
--- a/tests/specs/gallery/interaction/interaction4.vl
+++ b/tests/specs/gallery/interaction/interaction4.vl
@@ -1,8 +1,21 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/unemployment-across-industries.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Area chart with rectangular brush",
+    "encoding": {
+        "x": {
+            "field": "date",
+            "timeUnit": "yearmonth",
+            "type": "temporal"
+        },
+        "y": {
+            "aggregate": "sum",
+            "field": "count",
+            "type": "quantitative"
+        }
+    },
     "layer": [
         {
             "mark": "area",
@@ -16,30 +29,17 @@
             }
         },
         {
+            "mark": {
+                "color": "goldenrod",
+                "type": "area"
+            },
             "transform": [
                 {
                     "filter": {
                         "selection": "myBrush"
                     }
                 }
-            ],
-            "mark": {
-                "color": "goldenrod",
-                "type": "area"
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "date",
-            "timeUnit": "yearmonth",
-            "type": "temporal"
-        },
-        "y": {
-            "field": "count",
-            "aggregate": "sum",
-            "type": "quantitative"
+            ]
         }
-    },
-    "description": "Area chart with rectangular brush"
+    ]
 }
diff --git a/tests/specs/gallery/interaction/interaction5.vl b/tests/specs/gallery/interaction/interaction5.vl
--- a/tests/specs/gallery/interaction/interaction5.vl
+++ b/tests/specs/gallery/interaction/interaction5.vl
@@ -1,23 +1,16 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "myPaintbrush": {
-            "nearest": true,
-            "type": "multi",
-            "on": "mouseover"
-        }
-    },
+    "description": "Mouse over individual points or select multiple points with the shift key",
     "encoding": {
         "size": {
-            "value": 50,
             "condition": {
-                "value": 300,
-                "selection": "myPaintbrush"
-            }
+                "selection": "myPaintbrush",
+                "value": 300
+            },
+            "value": 50
         },
         "x": {
             "field": "Horsepower",
@@ -28,5 +21,12 @@
             "type": "quantitative"
         }
     },
-    "description": "Mouse over individual points or select multiple points with the shift key"
+    "mark": "point",
+    "selection": {
+        "myPaintbrush": {
+            "nearest": true,
+            "on": "mouseover",
+            "type": "multi"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction6.vl b/tests/specs/gallery/interaction/interaction6.vl
--- a/tests/specs/gallery/interaction/interaction6.vl
+++ b/tests/specs/gallery/interaction/interaction6.vl
@@ -1,15 +1,9 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "myGrid": {
-            "bind": "scales",
-            "type": "interval"
-        }
-    },
+    "description": "Drag to pan. Zoom in or out with mousewheel/zoom gesture.",
     "encoding": {
         "size": {
             "field": "Cylinders",
@@ -36,5 +30,11 @@
             "type": "quantitative"
         }
     },
-    "description": "Drag to pan. Zoom in or out with mousewheel/zoom gesture."
+    "mark": "circle",
+    "selection": {
+        "myGrid": {
+            "bind": "scales",
+            "type": "interval"
+        }
+    }
 }
diff --git a/tests/specs/gallery/interaction/interaction7.vl b/tests/specs/gallery/interaction/interaction7.vl
--- a/tests/specs/gallery/interaction/interaction7.vl
+++ b/tests/specs/gallery/interaction/interaction7.vl
@@ -1,66 +1,63 @@
 {
-    "transform": [
-        {
-            "as": "Year",
-            "calculate": "year(datum.Year)"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Drag the sliders to highlight points",
+    "encoding": {
+        "x": {
+            "field": "Horsepower",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "Miles_per_Gallon",
+            "type": "quantitative"
+        }
+    },
     "layer": [
         {
+            "encoding": {
+                "color": {
+                    "condition": {
+                        "field": "Origin",
+                        "selection": "CylYr",
+                        "type": "nominal"
+                    },
+                    "value": "grey"
+                }
+            },
             "mark": "circle",
             "selection": {
                 "CylYr": {
-                    "init": {
-                        "Cylinders": 4,
-                        "Year": 1977
-                    },
                     "bind": {
                         "Cylinders": {
-                            "max": 8,
                             "input": "range",
+                            "max": 8,
+                            "min": 3,
                             "name": "Cylinders ",
-                            "step": 1,
-                            "min": 3
+                            "step": 1
                         },
                         "Year": {
-                            "max": 1981,
                             "input": "range",
+                            "max": 1981,
+                            "min": 1969,
                             "name": "Year ",
-                            "step": 1,
-                            "min": 1969
+                            "step": 1
                         }
                     },
-                    "type": "single",
                     "fields": [
                         "Cylinders",
                         "Year"
-                    ]
-                }
-            },
-            "encoding": {
-                "color": {
-                    "value": "grey",
-                    "condition": {
-                        "field": "Origin",
-                        "selection": "CylYr",
-                        "type": "nominal"
-                    }
+                    ],
+                    "init": {
+                        "Cylinders": 4,
+                        "Year": 1977
+                    },
+                    "type": "single"
                 }
             }
         },
         {
-            "transform": [
-                {
-                    "filter": {
-                        "selection": "CylYr"
-                    }
-                }
-            ],
-            "mark": "circle",
             "encoding": {
                 "color": {
                     "field": "Origin",
@@ -69,18 +66,21 @@
                 "size": {
                     "value": 100
                 }
-            }
+            },
+            "mark": "circle",
+            "transform": [
+                {
+                    "filter": {
+                        "selection": "CylYr"
+                    }
+                }
+            ]
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "Horsepower",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "Miles_per_Gallon",
-            "type": "quantitative"
+    "transform": [
+        {
+            "as": "Year",
+            "calculate": "year(datum.Year)"
         }
-    },
-    "description": "Drag the sliders to highlight points"
+    ]
 }
diff --git a/tests/specs/gallery/interaction/interaction8.vl b/tests/specs/gallery/interaction/interaction8.vl
--- a/tests/specs/gallery/interaction/interaction8.vl
+++ b/tests/specs/gallery/interaction/interaction8.vl
@@ -1,43 +1,43 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "encoding": {
+        "y": {
+            "aggregate": "mean",
+            "field": "precipitation",
+            "type": "quantitative"
+        }
+    },
     "layer": [
         {
-            "mark": "bar",
-            "selection": {
-                "myBrush": {
-                    "encodings": [
-                        "x"
-                    ],
-                    "type": "interval"
-                }
-            },
             "encoding": {
                 "opacity": {
-                    "value": 0.7,
                     "condition": {
-                        "value": 1,
-                        "selection": "myBrush"
-                    }
+                        "selection": "myBrush",
+                        "value": 1
+                    },
+                    "value": 0.7
                 },
                 "x": {
                     "field": "date",
                     "timeUnit": "month",
                     "type": "ordinal"
                 }
+            },
+            "mark": "bar",
+            "selection": {
+                "myBrush": {
+                    "encodings": [
+                        "x"
+                    ],
+                    "type": "interval"
+                }
             }
         },
         {
-            "transform": [
-                {
-                    "filter": {
-                        "selection": "myBrush"
-                    }
-                }
-            ],
-            "mark": "rule",
+            "description": "Drag over bars to update selection average",
             "encoding": {
                 "color": {
                     "value": "firebrick"
@@ -46,14 +46,14 @@
                     "value": 3
                 }
             },
-            "description": "Drag over bars to update selection average"
-        }
-    ],
-    "encoding": {
-        "y": {
-            "field": "precipitation",
-            "aggregate": "mean",
-            "type": "quantitative"
+            "mark": "rule",
+            "transform": [
+                {
+                    "filter": {
+                        "selection": "myBrush"
+                    }
+                }
+            ]
         }
-    }
+    ]
 }
diff --git a/tests/specs/gallery/interaction/interaction9.vl b/tests/specs/gallery/interaction/interaction9.vl
--- a/tests/specs/gallery/interaction/interaction9.vl
+++ b/tests/specs/gallery/interaction/interaction9.vl
@@ -1,88 +1,75 @@
 {
-    "height": 400,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/stocks.csv",
         "format": {
             "parse": {
                 "date": "date"
             }
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Displays tooltips for all stock prices of the hovered time",
+    "height": 400,
     "layer": [
         {
+            "encoding": {
+                "color": {
+                    "field": "symbol",
+                    "type": "nominal"
+                },
+                "x": {
+                    "field": "date",
+                    "type": "temporal"
+                },
+                "y": {
+                    "field": "price",
+                    "type": "quantitative"
+                }
+            },
             "layer": [
                 {
                     "mark": "line"
                 },
                 {
+                    "encoding": {
+                        "opacity": {
+                            "condition": {
+                                "selection": "myTooltip",
+                                "value": 1
+                            },
+                            "value": 0
+                        }
+                    },
                     "mark": "point",
                     "selection": {
                         "myTooltip": {
-                            "nearest": true,
                             "empty": "none",
                             "encodings": [
                                 "x"
                             ],
-                            "type": "single",
-                            "on": "mouseover"
-                        }
-                    },
-                    "encoding": {
-                        "opacity": {
-                            "value": 0,
-                            "condition": {
-                                "value": 1,
-                                "selection": "myTooltip"
-                            }
+                            "nearest": true,
+                            "on": "mouseover",
+                            "type": "single"
                         }
                     }
                 }
-            ],
-            "encoding": {
-                "color": {
-                    "field": "symbol",
-                    "type": "nominal"
-                },
-                "x": {
-                    "field": "date",
-                    "type": "temporal"
-                },
-                "y": {
-                    "field": "price",
-                    "type": "quantitative"
-                }
-            }
+            ]
         },
         {
-            "transform": [
-                {
-                    "filter": {
-                        "selection": "myTooltip"
-                    }
-                }
-            ],
             "layer": [
                 {
-                    "mark": {
-                        "color": "gray",
-                        "type": "rule"
-                    },
                     "encoding": {
                         "x": {
                             "field": "date",
                             "type": "temporal"
                         }
+                    },
+                    "mark": {
+                        "color": "gray",
+                        "type": "rule"
                     }
                 },
                 {
-                    "mark": {
-                        "dx": 5,
-                        "dy": -5,
-                        "align": "left",
-                        "type": "text"
-                    },
                     "encoding": {
                         "color": {
                             "field": "symbol",
@@ -100,10 +87,23 @@
                             "field": "price",
                             "type": "quantitative"
                         }
+                    },
+                    "mark": {
+                        "align": "left",
+                        "dx": 5,
+                        "dy": -5,
+                        "type": "text"
                     }
                 }
+            ],
+            "transform": [
+                {
+                    "filter": {
+                        "selection": "myTooltip"
+                    }
+                }
             ]
         }
     ],
-    "description": "Displays tooltips for all stock prices of the hovered time"
+    "width": 800
 }
diff --git a/tests/specs/gallery/interaction/interactivelinehover.vl b/tests/specs/gallery/interaction/interactivelinehover.vl
--- a/tests/specs/gallery/interaction/interactivelinehover.vl
+++ b/tests/specs/gallery/interaction/interactivelinehover.vl
@@ -1,9 +1,5 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol!=='IBM'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
@@ -12,100 +8,104 @@
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Multi-series line chart with labels and interactive highlight on hover.  We also set the selection's initial value to provide a better screenshot",
+    "encoding": {
+        "color": {
+            "condition": {
+                "field": "symbol",
+                "legend": null,
+                "selection": "hover",
+                "type": "nominal"
+            },
+            "value": "grey"
+        },
+        "opacity": {
+            "condition": {
+                "selection": "hover",
+                "value": 1
+            },
+            "value": 0.2
+        }
+    },
     "layer": [
         {
+            "encoding": {
+                "x": {
+                    "field": "date",
+                    "title": "date",
+                    "type": "temporal"
+                },
+                "y": {
+                    "field": "price",
+                    "title": "price",
+                    "type": "quantitative"
+                }
+            },
             "layer": [
                 {
+                    "description": "transparent layer to make it easier to trigger selection",
                     "mark": {
-                        "strokeWidth": 8,
                         "stroke": "transparent",
+                        "strokeWidth": 8,
                         "type": "line"
                     },
                     "selection": {
                         "hover": {
+                            "empty": "none",
+                            "fields": [
+                                "symbol"
+                            ],
                             "init": {
                                 "symbol": "AAPL"
                             },
-                            "empty": "none",
-                            "type": "single",
                             "on": "mouseover",
-                            "fields": [
-                                "symbol"
-                            ]
+                            "type": "single"
                         }
-                    },
-                    "description": "transparent layer to make it easier to trigger selection"
+                    }
                 },
                 {
                     "mark": "line"
                 }
-            ],
+            ]
+        },
+        {
             "encoding": {
                 "x": {
+                    "aggregate": "max",
                     "field": "date",
-                    "title": "date",
                     "type": "temporal"
                 },
                 "y": {
+                    "aggregate": {
+                        "argmax": "date"
+                    },
                     "field": "price",
-                    "title": "price",
                     "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "layer": [
                 {
                     "mark": "circle"
                 },
                 {
-                    "mark": {
-                        "dx": 4,
-                        "align": "left",
-                        "type": "text"
-                    },
                     "encoding": {
                         "text": {
                             "field": "symbol",
                             "type": "nominal"
                         }
-                    }
-                }
-            ],
-            "encoding": {
-                "x": {
-                    "field": "date",
-                    "aggregate": "max",
-                    "type": "temporal"
-                },
-                "y": {
-                    "field": "price",
-                    "aggregate": {
-                        "argmax": "date"
                     },
-                    "type": "quantitative"
+                    "mark": {
+                        "align": "left",
+                        "dx": 4,
+                        "type": "text"
+                    }
                 }
-            }
+            ]
         }
     ],
-    "encoding": {
-        "color": {
-            "value": "grey",
-            "condition": {
-                "field": "symbol",
-                "selection": "hover",
-                "type": "nominal",
-                "legend": null
-            }
-        },
-        "opacity": {
-            "value": 0.2,
-            "condition": {
-                "value": 1,
-                "selection": "hover"
-            }
+    "transform": [
+        {
+            "filter": "datum.symbol!=='IBM'"
         }
-    },
-    "description": "Multi-series line chart with labels and interactive highlight on hover.  We also set the selection's initial value to provide a better screenshot"
+    ]
 }
diff --git a/tests/specs/gallery/label/baselines.vl b/tests/specs/gallery/label/baselines.vl
--- a/tests/specs/gallery/label/baselines.vl
+++ b/tests/specs/gallery/label/baselines.vl
@@ -1,33 +1,8 @@
 {
-    "config": {
-        "mark": {
-            "fontStyle": "italic",
-            "fontSize": 20,
-            "lineHeight": 30
-        },
-        "title": {
-            "font": "Comic Sans MS"
-        }
-    },
-    "data": {
-        "values": [
-            {
-                "x": 5,
-                "y": 5
-            },
-            {
-                "x": 30,
-                "y": 30
-            }
-        ]
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "columns": 2,
     "concat": [
         {
-            "mark": {
-                "type": "text",
-                "baseline": "top"
-            },
-            "title": "top",
             "encoding": {
                 "text": {
                     "value": [
@@ -36,6 +11,9 @@
                     ]
                 },
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "x",
                     "scale": {
                         "domain": [
@@ -44,12 +22,12 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 },
                 "y": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "y",
                     "scale": {
                         "domain": [
@@ -58,19 +36,16 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "mark": {
-                "type": "text",
-                "baseline": "line-top"
+                "baseline": "top",
+                "type": "text"
             },
-            "title": "line-top",
+            "title": "top"
+        },
+        {
             "encoding": {
                 "text": {
                     "value": [
@@ -79,6 +54,9 @@
                     ]
                 },
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "x",
                     "scale": {
                         "domain": [
@@ -87,12 +65,12 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 },
                 "y": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "y",
                     "scale": {
                         "domain": [
@@ -101,19 +79,16 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "mark": {
-                "type": "text",
-                "baseline": "middle"
+                "baseline": "line-top",
+                "type": "text"
             },
-            "title": "middle",
+            "title": "line-top"
+        },
+        {
             "encoding": {
                 "text": {
                     "value": [
@@ -122,6 +97,9 @@
                     ]
                 },
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "x",
                     "scale": {
                         "domain": [
@@ -130,12 +108,12 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 },
                 "y": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "y",
                     "scale": {
                         "domain": [
@@ -144,19 +122,16 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "mark": {
-                "type": "text",
-                "baseline": "alphabetic"
+                "baseline": "middle",
+                "type": "text"
             },
-            "title": "baseline",
+            "title": "middle"
+        },
+        {
             "encoding": {
                 "text": {
                     "value": [
@@ -165,6 +140,9 @@
                     ]
                 },
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "x",
                     "scale": {
                         "domain": [
@@ -173,12 +151,12 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 },
                 "y": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "y",
                     "scale": {
                         "domain": [
@@ -187,19 +165,16 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "mark": {
-                "type": "text",
-                "baseline": "bottom"
+                "baseline": "alphabetic",
+                "type": "text"
             },
-            "title": "bottom",
+            "title": "baseline"
+        },
+        {
             "encoding": {
                 "text": {
                     "value": [
@@ -208,6 +183,9 @@
                     ]
                 },
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "x",
                     "scale": {
                         "domain": [
@@ -216,12 +194,12 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 },
                 "y": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "y",
                     "scale": {
                         "domain": [
@@ -230,19 +208,16 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "mark": {
-                "type": "text",
-                "baseline": "line-bottom"
+                "baseline": "bottom",
+                "type": "text"
             },
-            "title": "line-bottom",
+            "title": "bottom"
+        },
+        {
             "encoding": {
                 "text": {
                     "value": [
@@ -251,6 +226,9 @@
                     ]
                 },
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "x",
                     "scale": {
                         "domain": [
@@ -259,12 +237,12 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 },
                 "y": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "y",
                     "scale": {
                         "domain": [
@@ -273,14 +251,36 @@
                         ],
                         "nice": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
+            },
+            "mark": {
+                "baseline": "line-bottom",
+                "type": "text"
+            },
+            "title": "line-bottom"
         }
     ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "columns": 2
+    "config": {
+        "mark": {
+            "fontSize": 20,
+            "fontStyle": "italic",
+            "lineHeight": 30
+        },
+        "title": {
+            "font": "Comic Sans MS"
+        }
+    },
+    "data": {
+        "values": [
+            {
+                "x": 5,
+                "y": 5
+            },
+            {
+                "x": 30,
+                "y": 30
+            }
+        ]
+    }
 }
diff --git a/tests/specs/gallery/label/label1.vl b/tests/specs/gallery/label/label1.vl
--- a/tests/specs/gallery/label/label1.vl
+++ b/tests/specs/gallery/label/label1.vl
@@ -1,10 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
             "label": {
-                "dx": 3,
                 "align": "left",
-                "baseline": "middle"
+                "baseline": "middle",
+                "dx": 3
             }
         }
     },
@@ -24,33 +25,32 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A simple bar chart with embedded data labels",
+    "encoding": {
+        "x": {
+            "field": "b",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "a",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
             "mark": "bar"
         },
         {
-            "mark": {
-                "style": "label",
-                "type": "text"
-            },
             "encoding": {
                 "text": {
                     "field": "b",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "style": "label",
+                "type": "text"
             }
         }
-    ],
-    "encoding": {
-        "x": {
-            "field": "b",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "a",
-            "type": "ordinal"
-        }
-    },
-    "description": "A simple bar chart with embedded data labels"
+    ]
 }
diff --git a/tests/specs/gallery/label/label2.vl b/tests/specs/gallery/label/label2.vl
--- a/tests/specs/gallery/label/label2.vl
+++ b/tests/specs/gallery/label/label2.vl
@@ -1,52 +1,52 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "text": {
-            "baseline": "middle"
-        },
         "scale": {
-            "xReverse": false,
             "bandPaddingInner": 0,
-            "bandPaddingOuter": 0
+            "bandPaddingOuter": 0,
+            "xReverse": false
+        },
+        "text": {
+            "baseline": "middle"
         }
     },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Layering text over 'heatmap'",
+    "encoding": {
+        "x": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
+        "y": {
+            "field": "Origin",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": "rect",
             "encoding": {
                 "color": {
-                    "field": "*",
                     "aggregate": "count",
+                    "field": "*",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "rect"
         },
         {
-            "mark": "text",
             "encoding": {
                 "color": {
                     "value": "white"
                 },
                 "text": {
-                    "field": "*",
                     "aggregate": "count",
+                    "field": "*",
                     "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
-        "y": {
-            "field": "Origin",
-            "type": "ordinal"
+            },
+            "mark": "text"
         }
-    },
-    "description": "Layering text over 'heatmap'"
+    ]
 }
diff --git a/tests/specs/gallery/label/label2r.vl b/tests/specs/gallery/label/label2r.vl
--- a/tests/specs/gallery/label/label2r.vl
+++ b/tests/specs/gallery/label/label2r.vl
@@ -1,52 +1,52 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "text": {
-            "baseline": "middle"
-        },
         "scale": {
-            "xReverse": true,
             "bandPaddingInner": 0,
-            "bandPaddingOuter": 0
+            "bandPaddingOuter": 0,
+            "xReverse": true
+        },
+        "text": {
+            "baseline": "middle"
         }
     },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Layering text over 'heatmap'",
+    "encoding": {
+        "x": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
+        "y": {
+            "field": "Origin",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": "rect",
             "encoding": {
                 "color": {
-                    "field": "*",
                     "aggregate": "count",
+                    "field": "*",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "rect"
         },
         {
-            "mark": "text",
             "encoding": {
                 "color": {
                     "value": "white"
                 },
                 "text": {
-                    "field": "*",
                     "aggregate": "count",
+                    "field": "*",
                     "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
-        "y": {
-            "field": "Origin",
-            "type": "ordinal"
+            },
+            "mark": "text"
         }
-    },
-    "description": "Layering text over 'heatmap'"
+    ]
 }
diff --git a/tests/specs/gallery/label/label3.vl b/tests/specs/gallery/label/label3.vl
--- a/tests/specs/gallery/label/label3.vl
+++ b/tests/specs/gallery/label/label3.vl
@@ -1,64 +1,90 @@
 {
-    "transform": [
-        {
-            "as": "year",
-            "calculate": "year(datum.Date)"
-        },
-        {
-            "as": "month",
-            "calculate": "month(datum.Date)"
-        },
-        {
-            "as": "decade",
-            "calculate": "floor(datum.year / 10)"
-        },
-        {
-            "as": "scaled_date",
-            "calculate": "(datum.year % 10) + (datum.month / 12)"
-        }
-    ],
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/co2-concentration.csv",
         "format": {
             "parse": {
                 "Date": "utc:'%Y-%m-%d'"
             }
+        },
+        "url": "https://vega.github.io/vega-lite/data/co2-concentration.csv"
+    },
+    "description": "Carbon dioxide in the atmosphere.",
+    "encoding": {
+        "x": {
+            "axis": {
+                "tickCount": 10,
+                "title": "Year into decade",
+                "values": [
+                    1,
+                    2,
+                    3,
+                    4,
+                    5,
+                    6,
+                    7,
+                    8,
+                    9
+                ]
+            },
+            "field": "scaled_date",
+            "type": "quantitative"
+        },
+        "y": {
+            "axis": {
+                "title": "CO₂ concentration in ppm"
+            },
+            "field": "CO2",
+            "scale": {
+                "zero": false
+            },
+            "type": "quantitative"
         }
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 500,
     "layer": [
         {
-            "mark": {
-                "orient": "vertical",
-                "type": "line"
-            },
             "encoding": {
                 "color": {
                     "field": "decade",
-                    "type": "nominal",
-                    "legend": null
+                    "legend": null,
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "orient": "vertical",
+                "type": "line"
             }
         },
         {
+            "encoding": {
+                "text": {
+                    "field": "aggregated.year",
+                    "type": "nominal"
+                }
+            },
+            "mark": {
+                "align": "left",
+                "baseline": "top",
+                "dx": 3,
+                "dy": 1,
+                "type": "text"
+            },
             "transform": [
                 {
-                    "groupby": [
-                        "decade"
-                    ],
                     "aggregate": [
                         {
-                            "op": "argmin",
                             "as": "aggregated",
-                            "field": "scaled_date"
+                            "field": "scaled_date",
+                            "op": "argmin"
                         }
+                    ],
+                    "groupby": [
+                        "decade"
                     ]
                 },
                 {
@@ -69,33 +95,33 @@
                     "as": "CO2",
                     "calculate": "datum.aggregated.CO2"
                 }
-            ],
-            "mark": {
-                "dx": 3,
-                "dy": 1,
-                "align": "left",
-                "type": "text",
-                "baseline": "top"
-            },
+            ]
+        },
+        {
             "encoding": {
                 "text": {
                     "field": "aggregated.year",
                     "type": "nominal"
                 }
-            }
-        },
-        {
+            },
+            "mark": {
+                "align": "left",
+                "baseline": "bottom",
+                "dx": 3,
+                "dy": 1,
+                "type": "text"
+            },
             "transform": [
                 {
-                    "groupby": [
-                        "decade"
-                    ],
                     "aggregate": [
                         {
-                            "op": "argmax",
                             "as": "aggregated",
-                            "field": "scaled_date"
+                            "field": "scaled_date",
+                            "op": "argmax"
                         }
+                    ],
+                    "groupby": [
+                        "decade"
                     ]
                 },
                 {
@@ -106,52 +132,26 @@
                     "as": "CO2",
                     "calculate": "datum.aggregated.CO2"
                 }
-            ],
-            "mark": {
-                "dx": 3,
-                "dy": 1,
-                "align": "left",
-                "type": "text",
-                "baseline": "bottom"
-            },
-            "encoding": {
-                "text": {
-                    "field": "aggregated.year",
-                    "type": "nominal"
-                }
-            }
+            ]
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "scaled_date",
-            "type": "quantitative",
-            "axis": {
-                "values": [
-                    1,
-                    2,
-                    3,
-                    4,
-                    5,
-                    6,
-                    7,
-                    8,
-                    9
-                ],
-                "tickCount": 10,
-                "title": "Year into decade"
-            }
+    "transform": [
+        {
+            "as": "year",
+            "calculate": "year(datum.Date)"
         },
-        "y": {
-            "field": "CO2",
-            "scale": {
-                "zero": false
-            },
-            "type": "quantitative",
-            "axis": {
-                "title": "CO₂ concentration in ppm"
-            }
+        {
+            "as": "month",
+            "calculate": "month(datum.Date)"
+        },
+        {
+            "as": "decade",
+            "calculate": "floor(datum.year / 10)"
+        },
+        {
+            "as": "scaled_date",
+            "calculate": "(datum.year % 10) + (datum.month / 12)"
         }
-    },
-    "description": "Carbon dioxide in the atmosphere."
+    ],
+    "width": 800
 }
diff --git a/tests/specs/gallery/label/label4.vl b/tests/specs/gallery/label/label4.vl
--- a/tests/specs/gallery/label/label4.vl
+++ b/tests/specs/gallery/label/label4.vl
@@ -1,99 +1,90 @@
 {
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "The PM2.5 value of Beijing observed 15 days, highlighting the days when PM2.5 level is hazardous to human health. Data source https://chartaccent.github.io/chartaccent.html",
     "layer": [
         {
             "data": {
                 "values": [
                     {
-                        "Value": 54.8,
-                        "Day": 1
+                        "Day": 1,
+                        "Value": 54.8
                     },
                     {
-                        "Value": 112.1,
-                        "Day": 2
+                        "Day": 2,
+                        "Value": 112.1
                     },
                     {
-                        "Value": 63.6,
-                        "Day": 3
+                        "Day": 3,
+                        "Value": 63.6
                     },
                     {
-                        "Value": 37.6,
-                        "Day": 4
+                        "Day": 4,
+                        "Value": 37.6
                     },
                     {
-                        "Value": 79.7,
-                        "Day": 5
+                        "Day": 5,
+                        "Value": 79.7
                     },
                     {
-                        "Value": 137.9,
-                        "Day": 6
+                        "Day": 6,
+                        "Value": 137.9
                     },
                     {
-                        "Value": 120.1,
-                        "Day": 7
+                        "Day": 7,
+                        "Value": 120.1
                     },
                     {
-                        "Value": 103.3,
-                        "Day": 8
+                        "Day": 8,
+                        "Value": 103.3
                     },
                     {
-                        "Value": 394.8,
-                        "Day": 9
+                        "Day": 9,
+                        "Value": 394.8
                     },
                     {
-                        "Value": 199.5,
-                        "Day": 10
+                        "Day": 10,
+                        "Value": 199.5
                     },
                     {
-                        "Value": 72.3,
-                        "Day": 11
+                        "Day": 11,
+                        "Value": 72.3
                     },
                     {
-                        "Value": 51.1,
-                        "Day": 12
+                        "Day": 12,
+                        "Value": 51.1
                     },
                     {
-                        "Value": 112,
-                        "Day": 13
+                        "Day": 13,
+                        "Value": 112
                     },
                     {
-                        "Value": 174.5,
-                        "Day": 14
+                        "Day": 14,
+                        "Value": 174.5
                     },
                     {
-                        "Value": 130.5,
-                        "Day": 15
+                        "Day": 15,
+                        "Value": 130.5
                     }
                 ]
             },
             "layer": [
                 {
-                    "mark": "bar",
                     "encoding": {
                         "x": {
-                            "field": "Day",
-                            "type": "ordinal",
                             "axis": {
                                 "labelAngle": 0
-                            }
+                            },
+                            "field": "Day",
+                            "type": "ordinal"
                         },
                         "y": {
                             "field": "Value",
                             "type": "quantitative"
                         }
-                    }
+                    },
+                    "mark": "bar"
                 },
                 {
-                    "transform": [
-                        {
-                            "filter": "datum.Value >= 300"
-                        },
-                        {
-                            "as": "baseline",
-                            "calculate": "300"
-                        }
-                    ],
-                    "mark": "bar",
                     "encoding": {
                         "color": {
                             "value": "#e45755"
@@ -102,15 +93,25 @@
                             "field": "Day",
                             "type": "ordinal"
                         },
-                        "y2": {
-                            "field": "Value"
-                        },
                         "y": {
                             "field": "baseline",
                             "title": "PM2.5 Value",
                             "type": "quantitative"
+                        },
+                        "y2": {
+                            "field": "Value"
                         }
-                    }
+                    },
+                    "mark": "bar",
+                    "transform": [
+                        {
+                            "filter": "datum.Value >= 300"
+                        },
+                        {
+                            "as": "baseline",
+                            "calculate": "300"
+                        }
+                    ]
                 }
             ]
         },
@@ -118,28 +119,27 @@
             "data": {
                 "values": {}
             },
+            "encoding": {
+                "y": {
+                    "datum": 300
+                }
+            },
             "layer": [
                 {
                     "mark": "rule"
                 },
                 {
                     "mark": {
+                        "align": "right",
+                        "baseline": "bottom",
                         "dx": -2,
                         "dy": -2,
                         "text": "hazardous",
-                        "align": "right",
-                        "x": "width",
                         "type": "text",
-                        "baseline": "bottom"
+                        "x": "width"
                     }
                 }
-            ],
-            "encoding": {
-                "y": {
-                    "datum": 300
-                }
-            }
+            ]
         }
-    ],
-    "description": "The PM2.5 value of Beijing observed 15 days, highlighting the days when PM2.5 level is hazardous to human health. Data source https://chartaccent.github.io/chartaccent.html"
+    ]
 }
diff --git a/tests/specs/gallery/label/label5.vl b/tests/specs/gallery/label/label5.vl
--- a/tests/specs/gallery/label/label5.vl
+++ b/tests/specs/gallery/label/label5.vl
@@ -1,11 +1,11 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Monthly precipitation with mean value overlay",
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "x": {
                     "field": "date",
@@ -13,14 +13,14 @@
                     "type": "ordinal"
                 },
                 "y": {
-                    "field": "precipitation",
                     "aggregate": "mean",
+                    "field": "precipitation",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": "rule",
             "encoding": {
                 "color": {
                     "value": "red"
@@ -29,12 +29,12 @@
                     "value": 3
                 },
                 "y": {
-                    "field": "precipitation",
                     "aggregate": "mean",
+                    "field": "precipitation",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "rule"
         }
-    ],
-    "description": "Monthly precipitation with mean value overlay"
+    ]
 }
diff --git a/tests/specs/gallery/label/label6.vl b/tests/specs/gallery/label/label6.vl
--- a/tests/specs/gallery/label/label6.vl
+++ b/tests/specs/gallery/label/label6.vl
@@ -1,26 +1,26 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Histogram with global mean overlay",
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "x": {
-                    "field": "IMDB_Rating",
+                    "axis": null,
                     "bin": true,
-                    "type": "quantitative",
-                    "axis": null
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
                 },
                 "y": {
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": "rule",
             "encoding": {
                 "color": {
                     "value": "red"
@@ -29,12 +29,12 @@
                     "value": 5
                 },
                 "x": {
-                    "field": "IMDB_Rating",
                     "aggregate": "mean",
+                    "field": "IMDB_Rating",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "rule"
         }
-    ],
-    "description": "Histogram with global mean overlay"
+    ]
 }
diff --git a/tests/specs/gallery/label/label7.vl b/tests/specs/gallery/label/label7.vl
--- a/tests/specs/gallery/label/label7.vl
+++ b/tests/specs/gallery/label/label7.vl
@@ -1,247 +1,247 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
+        "format": {
+            "parse": {
+                "year": "date:'%Y'"
+            }
+        },
         "values": [
             {
-                "year": "1875",
-                "population": 1309
+                "population": 1309,
+                "year": "1875"
             },
             {
-                "year": "1890",
-                "population": 1558
+                "population": 1558,
+                "year": "1890"
             },
             {
-                "year": "1910",
-                "population": 4512
+                "population": 4512,
+                "year": "1910"
             },
             {
-                "year": "1925",
-                "population": 8180
+                "population": 8180,
+                "year": "1925"
             },
             {
-                "year": "1933",
-                "population": 15915
+                "population": 15915,
+                "year": "1933"
             },
             {
-                "year": "1939",
-                "population": 24824
+                "population": 24824,
+                "year": "1939"
             },
             {
-                "year": "1946",
-                "population": 28275
+                "population": 28275,
+                "year": "1946"
             },
             {
-                "year": "1950",
-                "population": 29189
+                "population": 29189,
+                "year": "1950"
             },
             {
-                "year": "1964",
-                "population": 29881
+                "population": 29881,
+                "year": "1964"
             },
             {
-                "year": "1971",
-                "population": 26007
+                "population": 26007,
+                "year": "1971"
             },
             {
-                "year": "1981",
-                "population": 24029
+                "population": 24029,
+                "year": "1981"
             },
             {
-                "year": "1985",
-                "population": 23340
+                "population": 23340,
+                "year": "1985"
             },
             {
-                "year": "1989",
-                "population": 22307
+                "population": 22307,
+                "year": "1989"
             },
             {
-                "year": "1990",
-                "population": 22087
+                "population": 22087,
+                "year": "1990"
             },
             {
-                "year": "1991",
-                "population": 22139
+                "population": 22139,
+                "year": "1991"
             },
             {
-                "year": "1992",
-                "population": 22105
+                "population": 22105,
+                "year": "1992"
             },
             {
-                "year": "1993",
-                "population": 22242
+                "population": 22242,
+                "year": "1993"
             },
             {
-                "year": "1994",
-                "population": 22801
+                "population": 22801,
+                "year": "1994"
             },
             {
-                "year": "1995",
-                "population": 24273
+                "population": 24273,
+                "year": "1995"
             },
             {
-                "year": "1996",
-                "population": 25640
+                "population": 25640,
+                "year": "1996"
             },
             {
-                "year": "1997",
-                "population": 27393
+                "population": 27393,
+                "year": "1997"
             },
             {
-                "year": "1998",
-                "population": 29505
+                "population": 29505,
+                "year": "1998"
             },
             {
-                "year": "1999",
-                "population": 32124
+                "population": 32124,
+                "year": "1999"
             },
             {
-                "year": "2000",
-                "population": 33791
+                "population": 33791,
+                "year": "2000"
             },
             {
-                "year": "2001",
-                "population": 35297
+                "population": 35297,
+                "year": "2001"
             },
             {
-                "year": "2002",
-                "population": 36179
+                "population": 36179,
+                "year": "2002"
             },
             {
-                "year": "2003",
-                "population": 36829
+                "population": 36829,
+                "year": "2003"
             },
             {
-                "year": "2004",
-                "population": 37493
+                "population": 37493,
+                "year": "2004"
             },
             {
-                "year": "2005",
-                "population": 38376
+                "population": 38376,
+                "year": "2005"
             },
             {
-                "year": "2006",
-                "population": 39008
+                "population": 39008,
+                "year": "2006"
             },
             {
-                "year": "2007",
-                "population": 39366
+                "population": 39366,
+                "year": "2007"
             },
             {
-                "year": "2008",
-                "population": 39821
+                "population": 39821,
+                "year": "2008"
             },
             {
-                "year": "2009",
-                "population": 40179
+                "population": 40179,
+                "year": "2009"
             },
             {
-                "year": "2010",
-                "population": 40511
+                "population": 40511,
+                "year": "2010"
             },
             {
-                "year": "2011",
-                "population": 40465
+                "population": 40465,
+                "year": "2011"
             },
             {
-                "year": "2012",
-                "population": 40905
+                "population": 40905,
+                "year": "2012"
             },
             {
-                "year": "2013",
-                "population": 41258
+                "population": 41258,
+                "year": "2013"
             },
             {
-                "year": "2014",
-                "population": 41777
-            }
-        ],
-        "format": {
-            "parse": {
-                "year": "date:'%Y'"
+                "population": 41777,
+                "year": "2014"
             }
-        }
+        ]
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "The population of the German city of Falkensee over time with annotated time periods highlighted",
     "layer": [
         {
-            "mark": "rect",
             "data": {
+                "format": {
+                    "parse": {
+                        "end": "date:'%Y'",
+                        "start": "date:'%Y'"
+                    }
+                },
                 "values": [
                     {
+                        "end": "1945",
                         "event": "Nazi Rule",
-                        "start": "1933",
-                        "end": "1945"
+                        "start": "1933"
                     },
                     {
+                        "end": "1989",
                         "event": "GDR (East Germany)",
-                        "start": "1948",
-                        "end": "1989"
-                    }
-                ],
-                "format": {
-                    "parse": {
-                        "start": "date:'%Y'",
-                        "end": "date:'%Y'"
+                        "start": "1948"
                     }
-                }
+                ]
             },
             "encoding": {
-                "x2": {
-                    "field": "end",
-                    "timeUnit": "year"
-                },
                 "color": {
                     "field": "event",
                     "type": "nominal"
                 },
                 "x": {
+                    "axis": null,
                     "field": "start",
                     "timeUnit": "year",
-                    "type": "temporal",
-                    "axis": null
+                    "type": "temporal"
+                },
+                "x2": {
+                    "field": "end",
+                    "timeUnit": "year"
                 }
-            }
+            },
+            "mark": "rect"
         },
         {
-            "mark": "line",
             "encoding": {
                 "color": {
                     "value": "#333"
                 },
                 "x": {
-                    "field": "year",
-                    "timeUnit": "year",
-                    "type": "temporal",
                     "axis": {
                         "title": null
-                    }
+                    },
+                    "field": "year",
+                    "timeUnit": "year",
+                    "type": "temporal"
                 },
                 "y": {
                     "field": "population",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         },
         {
-            "mark": "point",
             "encoding": {
                 "color": {
                     "value": "#333"
                 },
                 "x": {
-                    "field": "year",
-                    "timeUnit": "year",
-                    "type": "temporal",
                     "axis": {
                         "title": null
-                    }
+                    },
+                    "field": "year",
+                    "timeUnit": "year",
+                    "type": "temporal"
                 },
                 "y": {
                     "field": "population",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point"
         }
     ],
-    "description": "The population of the German city of Falkensee over time with annotated time periods highlighted"
+    "width": 500
 }
diff --git a/tests/specs/gallery/label/label8.vl b/tests/specs/gallery/label/label8.vl
--- a/tests/specs/gallery/label/label8.vl
+++ b/tests/specs/gallery/label/label8.vl
@@ -1,5 +1,5 @@
 {
-    "height": 175,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
@@ -8,1019 +8,1019 @@
     "data": {
         "name": "medians"
     },
-    "width": 250,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Questionnaire Ratings",
-    "layer": [
-        {
-            "transform": [
-                {
-                    "filter": "datum.name != 'Toolbar_First'"
-                },
-                {
-                    "filter": "datum.name != 'Tablet_First'"
-                },
-                {
-                    "filter": "datum.name != 'Participant ID'"
-                }
-            ],
-            "mark": {
-                "color": "#6eb4fd",
-                "type": "circle"
+    "datasets": {
+        "medians": [
+            {
+                "hi": "Hard",
+                "lo": "Easy",
+                "median": 1.999976,
+                "name": "Identify Errors:"
             },
-            "data": {
-                "name": "values"
+            {
+                "hi": "Hard",
+                "lo": "Easy",
+                "median": 2,
+                "name": "Fix Errors:"
             },
-            "encoding": {
-                "size": {
-                    "aggregate": "count",
-                    "type": "quantitative",
-                    "legend": {
-                        "offset": 75,
-                        "title": "Number of Ratings"
-                    }
-                },
-                "x": {
-                    "field": "value",
-                    "scale": {
-                        "domain": [
-                            0,
-                            6
-                        ]
-                    },
-                    "type": "quantitative",
-                    "axis": {
-                        "values": [
-                            1,
-                            2,
-                            3,
-                            4,
-                            5
-                        ],
-                        "grid": false
-                    }
-                }
-            }
-        },
-        {
-            "mark": {
-                "color": "black",
-                "type": "tick"
+            {
+                "hi": "Gesture",
+                "lo": "Toolbar",
+                "median": 1.999969,
+                "name": "Easier to Fix:"
             },
-            "encoding": {
-                "x": {
-                    "field": "median",
-                    "scale": {
-                        "domain": [
-                            0,
-                            6
-                        ]
-                    },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
-                }
-            }
-        },
-        {
-            "mark": {
-                "align": "right",
-                "x": -5,
-                "type": "text"
+            {
+                "hi": "Gesture",
+                "lo": "Toolbar",
+                "median": 2.500045,
+                "name": "Faster to Fix:"
             },
-            "encoding": {
-                "text": {
-                    "field": "lo",
-                    "type": "nominal"
-                }
-            }
-        },
-        {
-            "mark": {
-                "align": "left",
-                "x": 255,
-                "type": "text"
+            {
+                "hi": "Gesture",
+                "lo": "Toolbar",
+                "median": 1.500022,
+                "name": "Easier on Phone:"
             },
-            "encoding": {
-                "text": {
-                    "field": "hi",
-                    "type": "nominal"
-                }
-            }
-        }
-    ],
-    "encoding": {
-        "y": {
-            "field": "name",
-            "sort": null,
-            "type": "nominal",
-            "axis": {
-                "offset": 50,
-                "domain": false,
-                "labelFontWeight": "bold",
-                "grid": true,
-                "title": null,
-                "ticks": false
+            {
+                "hi": "Gesture",
+                "lo": "Toolbar",
+                "median": 2.99998,
+                "name": "Easier on Tablet:"
+            },
+            {
+                "hi": "Tablet",
+                "lo": "Phone",
+                "median": 4.500007,
+                "name": "Device Preference:"
             }
-        }
-    },
-    "datasets": {
+        ],
         "values": [
             {
-                "value": "P1",
+                "id": "P1",
                 "name": "Participant ID",
-                "id": "P1"
+                "value": "P1"
             },
             {
-                "value": "2",
+                "id": "P1",
                 "name": "Identify Errors:",
-                "id": "P1"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P1",
                 "name": "Fix Errors:",
-                "id": "P1"
+                "value": "2"
             },
             {
-                "value": "3",
+                "id": "P1",
                 "name": "Easier to Fix:",
-                "id": "P1"
+                "value": "3"
             },
             {
-                "value": "4",
+                "id": "P1",
                 "name": "Faster to Fix:",
-                "id": "P1"
+                "value": "4"
             },
             {
-                "value": "2",
+                "id": "P1",
                 "name": "Easier on Phone:",
-                "id": "P1"
+                "value": "2"
             },
             {
-                "value": "5",
+                "id": "P1",
                 "name": "Easier on Tablet:",
-                "id": "P1"
+                "value": "5"
             },
             {
-                "value": "5",
+                "id": "P1",
                 "name": "Device Preference:",
-                "id": "P1"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P1",
                 "name": "Tablet_First",
-                "id": "P1"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P1",
                 "name": "Toolbar_First",
-                "id": "P1"
+                "value": "1"
             },
             {
-                "value": "P2",
+                "id": "P2",
                 "name": "Participant ID",
-                "id": "P2"
+                "value": "P2"
             },
             {
-                "value": "2",
+                "id": "P2",
                 "name": "Identify Errors:",
-                "id": "P2"
+                "value": "2"
             },
             {
-                "value": "3",
+                "id": "P2",
                 "name": "Fix Errors:",
-                "id": "P2"
+                "value": "3"
             },
             {
-                "value": "4",
+                "id": "P2",
                 "name": "Easier to Fix:",
-                "id": "P2"
+                "value": "4"
             },
             {
-                "value": "5",
+                "id": "P2",
                 "name": "Faster to Fix:",
-                "id": "P2"
+                "value": "5"
             },
             {
-                "value": "5",
+                "id": "P2",
                 "name": "Easier on Phone:",
-                "id": "P2"
+                "value": "5"
             },
             {
-                "value": "5",
+                "id": "P2",
                 "name": "Easier on Tablet:",
-                "id": "P2"
+                "value": "5"
             },
             {
-                "value": "5",
+                "id": "P2",
                 "name": "Device Preference:",
-                "id": "P2"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P2",
                 "name": "Tablet_First",
-                "id": "P2"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P2",
                 "name": "Toolbar_First",
-                "id": "P2"
+                "value": "1"
             },
             {
-                "value": "P3",
+                "id": "P3",
                 "name": "Participant ID",
-                "id": "P3"
+                "value": "P3"
             },
             {
-                "value": "2",
+                "id": "P3",
                 "name": "Identify Errors:",
-                "id": "P3"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P3",
                 "name": "Fix Errors:",
-                "id": "P3"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P3",
                 "name": "Easier to Fix:",
-                "id": "P3"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P3",
                 "name": "Faster to Fix:",
-                "id": "P3"
+                "value": "1"
             },
             {
-                "value": "2",
+                "id": "P3",
                 "name": "Easier on Phone:",
-                "id": "P3"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P3",
                 "name": "Easier on Tablet:",
-                "id": "P3"
+                "value": "1"
             },
             {
-                "value": "5",
+                "id": "P3",
                 "name": "Device Preference:",
-                "id": "P3"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P3",
                 "name": "Tablet_First",
-                "id": "P3"
+                "value": "1"
             },
             {
-                "value": "0",
+                "id": "P3",
                 "name": "Toolbar_First",
-                "id": "P3"
+                "value": "0"
             },
             {
-                "value": "P4",
+                "id": "P4",
                 "name": "Participant ID",
-                "id": "P4"
+                "value": "P4"
             },
             {
-                "value": "3",
+                "id": "P4",
                 "name": "Identify Errors:",
-                "id": "P4"
+                "value": "3"
             },
             {
-                "value": "3",
+                "id": "P4",
                 "name": "Fix Errors:",
-                "id": "P4"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P4",
                 "name": "Easier to Fix:",
-                "id": "P4"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P4",
                 "name": "Faster to Fix:",
-                "id": "P4"
+                "value": "2"
             },
             {
-                "value": "4",
+                "id": "P4",
                 "name": "Easier on Phone:",
-                "id": "P4"
+                "value": "4"
             },
             {
-                "value": "1",
+                "id": "P4",
                 "name": "Easier on Tablet:",
-                "id": "P4"
+                "value": "1"
             },
             {
-                "value": "5",
+                "id": "P4",
                 "name": "Device Preference:",
-                "id": "P4"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P4",
                 "name": "Tablet_First",
-                "id": "P4"
+                "value": "1"
             },
             {
-                "value": "0",
+                "id": "P4",
                 "name": "Toolbar_First",
-                "id": "P4"
+                "value": "0"
             },
             {
-                "value": "P5",
+                "id": "P5",
                 "name": "Participant ID",
-                "id": "P5"
+                "value": "P5"
             },
             {
-                "value": "2",
+                "id": "P5",
                 "name": "Identify Errors:",
-                "id": "P5"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P5",
                 "name": "Fix Errors:",
-                "id": "P5"
+                "value": "2"
             },
             {
-                "value": "4",
+                "id": "P5",
                 "name": "Easier to Fix:",
-                "id": "P5"
+                "value": "4"
             },
             {
-                "value": "4",
+                "id": "P5",
                 "name": "Faster to Fix:",
-                "id": "P5"
+                "value": "4"
             },
             {
-                "value": "4",
+                "id": "P5",
                 "name": "Easier on Phone:",
-                "id": "P5"
+                "value": "4"
             },
             {
-                "value": "5",
+                "id": "P5",
                 "name": "Easier on Tablet:",
-                "id": "P5"
+                "value": "5"
             },
             {
-                "value": "5",
+                "id": "P5",
                 "name": "Device Preference:",
-                "id": "P5"
+                "value": "5"
             },
             {
-                "value": "0",
+                "id": "P5",
                 "name": "Tablet_First",
-                "id": "P5"
+                "value": "0"
             },
             {
-                "value": "1",
+                "id": "P5",
                 "name": "Toolbar_First",
-                "id": "P5"
+                "value": "1"
             },
             {
-                "value": "P6",
+                "id": "P6",
                 "name": "Participant ID",
-                "id": "P6"
+                "value": "P6"
             },
             {
-                "value": "1",
+                "id": "P6",
                 "name": "Identify Errors:",
-                "id": "P6"
+                "value": "1"
             },
             {
-                "value": "3",
+                "id": "P6",
                 "name": "Fix Errors:",
-                "id": "P6"
+                "value": "3"
             },
             {
-                "value": "3",
+                "id": "P6",
                 "name": "Easier to Fix:",
-                "id": "P6"
+                "value": "3"
             },
             {
-                "value": "4",
+                "id": "P6",
                 "name": "Faster to Fix:",
-                "id": "P6"
+                "value": "4"
             },
             {
-                "value": "4",
+                "id": "P6",
                 "name": "Easier on Phone:",
-                "id": "P6"
+                "value": "4"
             },
             {
-                "value": "4",
+                "id": "P6",
                 "name": "Easier on Tablet:",
-                "id": "P6"
+                "value": "4"
             },
             {
-                "value": "4",
+                "id": "P6",
                 "name": "Device Preference:",
-                "id": "P6"
+                "value": "4"
             },
             {
-                "value": "0",
+                "id": "P6",
                 "name": "Tablet_First",
-                "id": "P6"
+                "value": "0"
             },
             {
-                "value": "1",
+                "id": "P6",
                 "name": "Toolbar_First",
-                "id": "P6"
+                "value": "1"
             },
             {
-                "value": "P7",
+                "id": "P7",
                 "name": "Participant ID",
-                "id": "P7"
+                "value": "P7"
             },
             {
-                "value": "2",
+                "id": "P7",
                 "name": "Identify Errors:",
-                "id": "P7"
+                "value": "2"
             },
             {
-                "value": "3",
+                "id": "P7",
                 "name": "Fix Errors:",
-                "id": "P7"
+                "value": "3"
             },
             {
-                "value": "4",
+                "id": "P7",
                 "name": "Easier to Fix:",
-                "id": "P7"
+                "value": "4"
             },
             {
-                "value": "5",
+                "id": "P7",
                 "name": "Faster to Fix:",
-                "id": "P7"
+                "value": "5"
             },
             {
-                "value": "3",
+                "id": "P7",
                 "name": "Easier on Phone:",
-                "id": "P7"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P7",
                 "name": "Easier on Tablet:",
-                "id": "P7"
+                "value": "2"
             },
             {
-                "value": "4",
+                "id": "P7",
                 "name": "Device Preference:",
-                "id": "P7"
+                "value": "4"
             },
             {
-                "value": "0",
+                "id": "P7",
                 "name": "Tablet_First",
-                "id": "P7"
+                "value": "0"
             },
             {
-                "value": "0",
+                "id": "P7",
                 "name": "Toolbar_First",
-                "id": "P7"
+                "value": "0"
             },
             {
-                "value": "P8",
+                "id": "P8",
                 "name": "Participant ID",
-                "id": "P8"
+                "value": "P8"
             },
             {
-                "value": "3",
+                "id": "P8",
                 "name": "Identify Errors:",
-                "id": "P8"
+                "value": "3"
             },
             {
-                "value": "1",
+                "id": "P8",
                 "name": "Fix Errors:",
-                "id": "P8"
+                "value": "1"
             },
             {
-                "value": "2",
+                "id": "P8",
                 "name": "Easier to Fix:",
-                "id": "P8"
+                "value": "2"
             },
             {
-                "value": "4",
+                "id": "P8",
                 "name": "Faster to Fix:",
-                "id": "P8"
+                "value": "4"
             },
             {
-                "value": "2",
+                "id": "P8",
                 "name": "Easier on Phone:",
-                "id": "P8"
+                "value": "2"
             },
             {
-                "value": "5",
+                "id": "P8",
                 "name": "Easier on Tablet:",
-                "id": "P8"
+                "value": "5"
             },
             {
-                "value": "5",
+                "id": "P8",
                 "name": "Device Preference:",
-                "id": "P8"
+                "value": "5"
             },
             {
-                "value": "0",
+                "id": "P8",
                 "name": "Tablet_First",
-                "id": "P8"
+                "value": "0"
             },
             {
-                "value": "0",
+                "id": "P8",
                 "name": "Toolbar_First",
-                "id": "P8"
+                "value": "0"
             },
             {
-                "value": "P9",
+                "id": "P9",
                 "name": "Participant ID",
-                "id": "P9"
+                "value": "P9"
             },
             {
-                "value": "2",
+                "id": "P9",
                 "name": "Identify Errors:",
-                "id": "P9"
+                "value": "2"
             },
             {
-                "value": "3",
+                "id": "P9",
                 "name": "Fix Errors:",
-                "id": "P9"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P9",
                 "name": "Easier to Fix:",
-                "id": "P9"
+                "value": "2"
             },
             {
-                "value": "4",
+                "id": "P9",
                 "name": "Faster to Fix:",
-                "id": "P9"
+                "value": "4"
             },
             {
-                "value": "1",
+                "id": "P9",
                 "name": "Easier on Phone:",
-                "id": "P9"
+                "value": "1"
             },
             {
-                "value": "4",
+                "id": "P9",
                 "name": "Easier on Tablet:",
-                "id": "P9"
+                "value": "4"
             },
             {
-                "value": "4",
+                "id": "P9",
                 "name": "Device Preference:",
-                "id": "P9"
+                "value": "4"
             },
             {
-                "value": "1",
+                "id": "P9",
                 "name": "Tablet_First",
-                "id": "P9"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P9",
                 "name": "Toolbar_First",
-                "id": "P9"
+                "value": "1"
             },
             {
-                "value": "P10",
+                "id": "P10",
                 "name": "Participant ID",
-                "id": "P10"
+                "value": "P10"
             },
             {
-                "value": "2",
+                "id": "P10",
                 "name": "Identify Errors:",
-                "id": "P10"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P10",
                 "name": "Fix Errors:",
-                "id": "P10"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P10",
                 "name": "Easier to Fix:",
-                "id": "P10"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P10",
                 "name": "Faster to Fix:",
-                "id": "P10"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P10",
                 "name": "Easier on Phone:",
-                "id": "P10"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P10",
                 "name": "Easier on Tablet:",
-                "id": "P10"
+                "value": "1"
             },
             {
-                "value": "5",
+                "id": "P10",
                 "name": "Device Preference:",
-                "id": "P10"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P10",
                 "name": "Tablet_First",
-                "id": "P10"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P10",
                 "name": "Toolbar_First",
-                "id": "P10"
+                "value": "1"
             },
             {
-                "value": "P11",
+                "id": "P11",
                 "name": "Participant ID",
-                "id": "P11"
+                "value": "P11"
             },
             {
-                "value": "2",
+                "id": "P11",
                 "name": "Identify Errors:",
-                "id": "P11"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P11",
                 "name": "Fix Errors:",
-                "id": "P11"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P11",
                 "name": "Easier to Fix:",
-                "id": "P11"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P11",
                 "name": "Faster to Fix:",
-                "id": "P11"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P11",
                 "name": "Easier on Phone:",
-                "id": "P11"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P11",
                 "name": "Easier on Tablet:",
-                "id": "P11"
+                "value": "1"
             },
             {
-                "value": "4",
+                "id": "P11",
                 "name": "Device Preference:",
-                "id": "P11"
+                "value": "4"
             },
             {
-                "value": "1",
+                "id": "P11",
                 "name": "Tablet_First",
-                "id": "P11"
+                "value": "1"
             },
             {
-                "value": "0",
+                "id": "P11",
                 "name": "Toolbar_First",
-                "id": "P11"
+                "value": "0"
             },
             {
-                "value": "P12",
+                "id": "P12",
                 "name": "Participant ID",
-                "id": "P12"
+                "value": "P12"
             },
             {
-                "value": "1",
+                "id": "P12",
                 "name": "Identify Errors:",
-                "id": "P12"
+                "value": "1"
             },
             {
-                "value": "3",
+                "id": "P12",
                 "name": "Fix Errors:",
-                "id": "P12"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P12",
                 "name": "Easier to Fix:",
-                "id": "P12"
+                "value": "2"
             },
             {
-                "value": "3",
+                "id": "P12",
                 "name": "Faster to Fix:",
-                "id": "P12"
+                "value": "3"
             },
             {
-                "value": "1",
+                "id": "P12",
                 "name": "Easier on Phone:",
-                "id": "P12"
+                "value": "1"
             },
             {
-                "value": "3",
+                "id": "P12",
                 "name": "Easier on Tablet:",
-                "id": "P12"
+                "value": "3"
             },
             {
-                "value": "3",
+                "id": "P12",
                 "name": "Device Preference:",
-                "id": "P12"
+                "value": "3"
             },
             {
-                "value": "0",
+                "id": "P12",
                 "name": "Tablet_First",
-                "id": "P12"
+                "value": "0"
             },
             {
-                "value": "1",
+                "id": "P12",
                 "name": "Toolbar_First",
-                "id": "P12"
+                "value": "1"
             },
             {
-                "value": "P13",
+                "id": "P13",
                 "name": "Participant ID",
-                "id": "P13"
+                "value": "P13"
             },
             {
-                "value": "2",
+                "id": "P13",
                 "name": "Identify Errors:",
-                "id": "P13"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P13",
                 "name": "Fix Errors:",
-                "id": "P13"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P13",
                 "name": "Easier to Fix:",
-                "id": "P13"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P13",
                 "name": "Faster to Fix:",
-                "id": "P13"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P13",
                 "name": "Easier on Phone:",
-                "id": "P13"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P13",
                 "name": "Easier on Tablet:",
-                "id": "P13"
+                "value": "1"
             },
             {
-                "value": "5",
+                "id": "P13",
                 "name": "Device Preference:",
-                "id": "P13"
+                "value": "5"
             },
             {
-                "value": "0",
+                "id": "P13",
                 "name": "Tablet_First",
-                "id": "P13"
+                "value": "0"
             },
             {
-                "value": "0",
+                "id": "P13",
                 "name": "Toolbar_First",
-                "id": "P13"
+                "value": "0"
             },
             {
-                "value": "P14",
+                "id": "P14",
                 "name": "Participant ID",
-                "id": "P14"
+                "value": "P14"
             },
             {
-                "value": "3",
+                "id": "P14",
                 "name": "Identify Errors:",
-                "id": "P14"
+                "value": "3"
             },
             {
-                "value": "3",
+                "id": "P14",
                 "name": "Fix Errors:",
-                "id": "P14"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P14",
                 "name": "Easier to Fix:",
-                "id": "P14"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P14",
                 "name": "Faster to Fix:",
-                "id": "P14"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P14",
                 "name": "Easier on Phone:",
-                "id": "P14"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P14",
                 "name": "Easier on Tablet:",
-                "id": "P14"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P14",
                 "name": "Device Preference:",
-                "id": "P14"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P14",
                 "name": "Tablet_First",
-                "id": "P14"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P14",
                 "name": "Toolbar_First",
-                "id": "P14"
+                "value": "1"
             },
             {
-                "value": "P15",
+                "id": "P15",
                 "name": "Participant ID",
-                "id": "P15"
+                "value": "P15"
             },
             {
-                "value": "4",
+                "id": "P15",
                 "name": "Identify Errors:",
-                "id": "P15"
+                "value": "4"
             },
             {
-                "value": "5",
+                "id": "P15",
                 "name": "Fix Errors:",
-                "id": "P15"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P15",
                 "name": "Easier to Fix:",
-                "id": "P15"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P15",
                 "name": "Faster to Fix:",
-                "id": "P15"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P15",
                 "name": "Easier on Phone:",
-                "id": "P15"
+                "value": "1"
             },
             {
-                "value": "1",
+                "id": "P15",
                 "name": "Easier on Tablet:",
-                "id": "P15"
+                "value": "1"
             },
             {
-                "value": "5",
+                "id": "P15",
                 "name": "Device Preference:",
-                "id": "P15"
+                "value": "5"
             },
             {
-                "value": "1",
+                "id": "P15",
                 "name": "Tablet_First",
-                "id": "P15"
+                "value": "1"
             },
             {
-                "value": "0",
+                "id": "P15",
                 "name": "Toolbar_First",
-                "id": "P15"
+                "value": "0"
             },
             {
-                "value": "P16",
+                "id": "P16",
                 "name": "Participant ID",
-                "id": "P16"
+                "value": "P16"
             },
             {
-                "value": "1",
+                "id": "P16",
                 "name": "Identify Errors:",
-                "id": "P16"
+                "value": "1"
             },
             {
-                "value": "3",
+                "id": "P16",
                 "name": "Fix Errors:",
-                "id": "P16"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P16",
                 "name": "Easier to Fix:",
-                "id": "P16"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P16",
                 "name": "Faster to Fix:",
-                "id": "P16"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P16",
                 "name": "Easier on Phone:",
-                "id": "P16"
+                "value": "1"
             },
             {
-                "value": "4",
+                "id": "P16",
                 "name": "Easier on Tablet:",
-                "id": "P16"
+                "value": "4"
             },
             {
-                "value": "5",
+                "id": "P16",
                 "name": "Device Preference:",
-                "id": "P16"
+                "value": "5"
             },
             {
-                "value": "0",
+                "id": "P16",
                 "name": "Tablet_First",
-                "id": "P16"
+                "value": "0"
             },
             {
-                "value": "1",
+                "id": "P16",
                 "name": "Toolbar_First",
-                "id": "P16"
+                "value": "1"
             },
             {
-                "value": "P17",
+                "id": "P17",
                 "name": "Participant ID",
-                "id": "P17"
+                "value": "P17"
             },
             {
-                "value": "3",
+                "id": "P17",
                 "name": "Identify Errors:",
-                "id": "P17"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P17",
                 "name": "Fix Errors:",
-                "id": "P17"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P17",
                 "name": "Easier to Fix:",
-                "id": "P17"
+                "value": "2"
             },
             {
-                "value": "2",
+                "id": "P17",
                 "name": "Faster to Fix:",
-                "id": "P17"
+                "value": "2"
             },
             {
-                "value": "1",
+                "id": "P17",
                 "name": "Easier on Phone:",
-                "id": "P17"
+                "value": "1"
             },
             {
-                "value": "3",
+                "id": "P17",
                 "name": "Easier on Tablet:",
-                "id": "P17"
+                "value": "3"
             },
             {
-                "value": "2",
+                "id": "P17",
                 "name": "Device Preference:",
-                "id": "P17"
+                "value": "2"
             },
             {
-                "value": "0",
+                "id": "P17",
                 "name": "Tablet_First",
-                "id": "P17"
+                "value": "0"
             },
             {
-                "value": "0",
+                "id": "P17",
                 "name": "Toolbar_First",
-                "id": "P17"
+                "value": "0"
             }
-        ],
-        "medians": [
-            {
-                "median": 1.999976,
-                "hi": "Hard",
-                "name": "Identify Errors:",
-                "lo": "Easy"
+        ]
+    },
+    "encoding": {
+        "y": {
+            "axis": {
+                "domain": false,
+                "grid": true,
+                "labelFontWeight": "bold",
+                "offset": 50,
+                "ticks": false,
+                "title": null
             },
-            {
-                "median": 2,
-                "hi": "Hard",
-                "name": "Fix Errors:",
-                "lo": "Easy"
+            "field": "name",
+            "sort": null,
+            "type": "nominal"
+        }
+    },
+    "height": 175,
+    "layer": [
+        {
+            "data": {
+                "name": "values"
             },
-            {
-                "median": 1.999969,
-                "hi": "Gesture",
-                "name": "Easier to Fix:",
-                "lo": "Toolbar"
+            "encoding": {
+                "size": {
+                    "aggregate": "count",
+                    "legend": {
+                        "offset": 75,
+                        "title": "Number of Ratings"
+                    },
+                    "type": "quantitative"
+                },
+                "x": {
+                    "axis": {
+                        "grid": false,
+                        "values": [
+                            1,
+                            2,
+                            3,
+                            4,
+                            5
+                        ]
+                    },
+                    "field": "value",
+                    "scale": {
+                        "domain": [
+                            0,
+                            6
+                        ]
+                    },
+                    "type": "quantitative"
+                }
             },
-            {
-                "median": 2.500045,
-                "hi": "Gesture",
-                "name": "Faster to Fix:",
-                "lo": "Toolbar"
+            "mark": {
+                "color": "#6eb4fd",
+                "type": "circle"
             },
-            {
-                "median": 1.500022,
-                "hi": "Gesture",
-                "name": "Easier on Phone:",
-                "lo": "Toolbar"
+            "transform": [
+                {
+                    "filter": "datum.name != 'Toolbar_First'"
+                },
+                {
+                    "filter": "datum.name != 'Tablet_First'"
+                },
+                {
+                    "filter": "datum.name != 'Participant ID'"
+                }
+            ]
+        },
+        {
+            "encoding": {
+                "x": {
+                    "axis": {
+                        "title": null
+                    },
+                    "field": "median",
+                    "scale": {
+                        "domain": [
+                            0,
+                            6
+                        ]
+                    },
+                    "type": "quantitative"
+                }
             },
-            {
-                "median": 2.99998,
-                "hi": "Gesture",
-                "name": "Easier on Tablet:",
-                "lo": "Toolbar"
+            "mark": {
+                "color": "black",
+                "type": "tick"
+            }
+        },
+        {
+            "encoding": {
+                "text": {
+                    "field": "lo",
+                    "type": "nominal"
+                }
             },
-            {
-                "median": 4.500007,
-                "hi": "Tablet",
-                "name": "Device Preference:",
-                "lo": "Phone"
+            "mark": {
+                "align": "right",
+                "type": "text",
+                "x": -5
             }
-        ]
-    }
+        },
+        {
+            "encoding": {
+                "text": {
+                    "field": "hi",
+                    "type": "nominal"
+                }
+            },
+            "mark": {
+                "align": "left",
+                "type": "text",
+                "x": 255
+            }
+        }
+    ],
+    "title": "Questionnaire Ratings",
+    "width": 250
 }
diff --git a/tests/specs/gallery/label/label9.vl b/tests/specs/gallery/label/label9.vl
--- a/tests/specs/gallery/label/label9.vl
+++ b/tests/specs/gallery/label/label9.vl
@@ -1,68 +1,90 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
-            "arrow-label2": {
-                "dy": 24,
-                "fontSize": 9.5
-            },
             "arrow-label": {
                 "dy": 12,
                 "fontSize": 9.5
+            },
+            "arrow-label2": {
+                "dy": 24,
+                "fontSize": 9.5
             }
         },
-        "view": {
-            "stroke": null
-        },
         "title": {
             "fontSize": 12
+        },
+        "view": {
+            "stroke": null
         }
     },
     "data": {
         "values": [
             {
-                "mean": 1.81,
                 "hi": 2.37,
-                "study": "PoleStar vs Voyager",
+                "lo": 1.26,
+                "mean": 1.81,
                 "measure": "Open Exploration",
-                "lo": 1.26
+                "study": "PoleStar vs Voyager"
             },
             {
-                "mean": -1.69,
                 "hi": -1.05,
-                "study": "PoleStar vs Voyager",
+                "lo": -2.33,
+                "mean": -1.69,
                 "measure": "Focused Question Answering",
-                "lo": -2.33
+                "study": "PoleStar vs Voyager"
             },
             {
-                "mean": 2.19,
                 "hi": 2.71,
-                "study": "PoleStar vs Voyager 2",
+                "lo": 1.67,
+                "mean": 2.19,
                 "measure": "Open Exploration",
-                "lo": 1.67
+                "study": "PoleStar vs Voyager 2"
             },
             {
-                "mean": -6.0e-2,
                 "hi": 0.35,
-                "study": "PoleStar vs Voyager 2",
+                "lo": -0.47,
+                "mean": -6.0e-2,
                 "measure": "Focused Question Answering",
-                "lo": -0.47
+                "study": "PoleStar vs Voyager 2"
             }
         ]
     },
+    "description": "Comparing Likert scale ratings between two conditions.",
+    "spacing": 10,
     "vconcat": [
         {
-            "title": {
-                "text": "Mean of Subject Ratings (95% CIs)",
-                "frame": "bounds"
+            "encoding": {
+                "y": {
+                    "axis": {
+                        "domain": false,
+                        "grid": false,
+                        "labelPadding": 5,
+                        "ticks": false,
+                        "title": null
+                    },
+                    "field": "study",
+                    "type": "nominal"
+                }
             },
             "layer": [
                 {
-                    "mark": "rule",
                     "encoding": {
-                        "x2": {
-                            "field": "hi"
-                        },
                         "x": {
+                            "axis": {
+                                "gridColor": {
+                                    "condition": {
+                                        "test": "datum.value === 0",
+                                        "value": "#666"
+                                    },
+                                    "value": "#ccc"
+                                },
+                                "gridDash": [
+                                    3,
+                                    3
+                                ],
+                                "title": null
+                            },
                             "field": "lo",
                             "scale": {
                                 "domain": [
@@ -70,211 +92,189 @@
                                     3
                                 ]
                             },
-                            "type": "quantitative",
-                            "axis": {
-                                "gridDash": [
-                                    3,
-                                    3
-                                ],
-                                "gridColor": {
-                                    "value": "#ccc",
-                                    "condition": {
-                                        "value": "#666",
-                                        "test": "datum.value === 0"
-                                    }
-                                },
-                                "title": null
-                            }
+                            "type": "quantitative"
+                        },
+                        "x2": {
+                            "field": "hi"
                         }
-                    }
+                    },
+                    "mark": "rule"
                 },
                 {
-                    "mark": {
-                        "opacity": 1,
-                        "stroke": "black",
-                        "type": "circle"
-                    },
                     "encoding": {
                         "color": {
                             "field": "measure",
+                            "legend": null,
                             "scale": {
                                 "range": [
                                     "black",
                                     "white"
                                 ]
                             },
-                            "type": "nominal",
-                            "legend": null
+                            "type": "nominal"
                         },
                         "x": {
                             "field": "mean",
                             "type": "quantitative"
                         }
+                    },
+                    "mark": {
+                        "opacity": 1,
+                        "stroke": "black",
+                        "type": "circle"
                     }
                 }
             ],
-            "encoding": {
-                "y": {
-                    "field": "study",
-                    "type": "nominal",
-                    "axis": {
-                        "domain": false,
-                        "labelPadding": 5,
-                        "grid": false,
-                        "title": null,
-                        "ticks": false
-                    }
-                }
+            "title": {
+                "frame": "bounds",
+                "text": "Mean of Subject Ratings (95% CIs)"
             }
         },
         {
             "data": {
                 "values": [
                     {
-                        "to": -2.9,
                         "from": -0.25,
-                        "label": "PoleStar"
+                        "label": "PoleStar",
+                        "to": -2.9
                     },
                     {
-                        "to": 2.9,
                         "from": 0.25,
-                        "label": "Voyager / Voyager 2"
+                        "label": "Voyager / Voyager 2",
+                        "to": 2.9
                     }
                 ]
             },
             "layer": [
                 {
-                    "mark": "rule",
                     "encoding": {
-                        "x2": {
-                            "field": "to"
-                        },
                         "x": {
+                            "axis": null,
                             "field": "from",
                             "scale": {
                                 "zero": false
                             },
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
+                        },
+                        "x2": {
+                            "field": "to"
                         }
-                    }
+                    },
+                    "mark": "rule"
                 },
                 {
-                    "mark": {
-                        "size": 60,
-                        "fill": "black",
-                        "type": "point",
-                        "filled": true
-                    },
                     "encoding": {
                         "shape": {
-                            "value": "triangle-left",
                             "condition": {
-                                "value": "triangle-right",
-                                "test": "datum.to > 0"
-                            }
+                                "test": "datum.to > 0",
+                                "value": "triangle-right"
+                            },
+                            "value": "triangle-left"
                         },
                         "x": {
+                            "axis": null,
                             "field": "to",
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
                         }
+                    },
+                    "mark": {
+                        "fill": "black",
+                        "filled": true,
+                        "size": 60,
+                        "type": "point"
                     }
                 },
                 {
-                    "transform": [
-                        {
-                            "filter": "datum.label === 'PoleStar'"
-                        }
-                    ],
-                    "mark": {
-                        "style": "arrow-label",
-                        "align": "right",
-                        "type": "text"
-                    },
                     "encoding": {
                         "text": {
                             "field": "label",
                             "type": "nominal"
                         },
                         "x": {
+                            "axis": null,
                             "field": "from",
-                            "type": "quantitative",
-                            "axis": null
-                        }
-                    }
-                },
-                {
-                    "transform": [
-                        {
-                            "filter": "datum.label !== 'PoleStar'"
+                            "type": "quantitative"
                         }
-                    ],
+                    },
                     "mark": {
+                        "align": "right",
                         "style": "arrow-label",
-                        "align": "left",
                         "type": "text"
                     },
+                    "transform": [
+                        {
+                            "filter": "datum.label === 'PoleStar'"
+                        }
+                    ]
+                },
+                {
                     "encoding": {
                         "text": {
                             "field": "label",
                             "type": "nominal"
                         },
                         "x": {
+                            "axis": null,
                             "field": "from",
-                            "type": "quantitative",
-                            "axis": null
-                        }
-                    }
-                },
-                {
-                    "transform": [
-                        {
-                            "filter": "datum.label === 'PoleStar'"
+                            "type": "quantitative"
                         }
-                    ],
+                    },
                     "mark": {
-                        "style": "arrow-label2",
-                        "align": "right",
+                        "align": "left",
+                        "style": "arrow-label",
                         "type": "text"
                     },
+                    "transform": [
+                        {
+                            "filter": "datum.label !== 'PoleStar'"
+                        }
+                    ]
+                },
+                {
                     "encoding": {
                         "text": {
                             "value": "more valuable"
                         },
                         "x": {
+                            "axis": null,
                             "field": "from",
-                            "type": "quantitative",
-                            "axis": null
-                        }
-                    }
-                },
-                {
-                    "transform": [
-                        {
-                            "filter": "datum.label !== 'PoleStar'"
+                            "type": "quantitative"
                         }
-                    ],
+                    },
                     "mark": {
+                        "align": "right",
                         "style": "arrow-label2",
-                        "align": "left",
                         "type": "text"
                     },
+                    "transform": [
+                        {
+                            "filter": "datum.label === 'PoleStar'"
+                        }
+                    ]
+                },
+                {
                     "encoding": {
                         "text": {
                             "value": "more valuable"
                         },
                         "x": {
+                            "axis": null,
                             "field": "from",
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
                         }
-                    }
+                    },
+                    "mark": {
+                        "align": "left",
+                        "style": "arrow-label2",
+                        "type": "text"
+                    },
+                    "transform": [
+                        {
+                            "filter": "datum.label !== 'PoleStar'"
+                        }
+                    ]
                 }
             ]
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Comparing Likert scale ratings between two conditions.",
-    "spacing": 10
+    ]
 }
diff --git a/tests/specs/gallery/label/voyager.vl b/tests/specs/gallery/label/voyager.vl
--- a/tests/specs/gallery/label/voyager.vl
+++ b/tests/specs/gallery/label/voyager.vl
@@ -1,68 +1,89 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "style": {
-            "arrow-label2": {
-                "dy": 24,
-                "fontSize": 9.5
-            },
             "arrow-label": {
                 "dy": 12,
                 "fontSize": 9.5
+            },
+            "arrow-label2": {
+                "dy": 24,
+                "fontSize": 9.5
             }
         },
-        "view": {
-            "stroke": "transparent"
-        },
         "title": {
             "fontSize": 12
+        },
+        "view": {
+            "stroke": "transparent"
         }
     },
     "data": {
         "values": [
             {
-                "mean": 1.813,
                 "hi": 2.37,
-                "study": "PoleStar vs Voyager",
+                "lo": 1.255,
+                "mean": 1.813,
                 "measure": "Open Exploration",
-                "lo": 1.255
+                "study": "PoleStar vs Voyager"
             },
             {
-                "mean": -1.688,
                 "hi": -1.05,
-                "study": "PoleStar vs Voyager",
+                "lo": -2.325,
+                "mean": -1.688,
                 "measure": "Focused Question Answering",
-                "lo": -2.325
+                "study": "PoleStar vs Voyager"
             },
             {
-                "mean": 2.1875,
                 "hi": 2.71,
-                "study": "PoleStar vs Voyager 2",
+                "lo": 1.665,
+                "mean": 2.1875,
                 "measure": "Open Exploration",
-                "lo": 1.665
+                "study": "PoleStar vs Voyager 2"
             },
             {
-                "mean": -6.25e-2,
                 "hi": 0.349,
-                "study": "PoleStar vs Voyager 2",
+                "lo": -0.474,
+                "mean": -6.25e-2,
                 "measure": "Focused Question Answering",
-                "lo": -0.474
+                "study": "PoleStar vs Voyager 2"
             }
         ]
     },
+    "spacing": 10,
     "vconcat": [
         {
-            "title": {
-                "text": "Mean of Subject Ratings (95% CIs)",
-                "frame": "bounds"
+            "encoding": {
+                "y": {
+                    "axis": {
+                        "domain": false,
+                        "grid": false,
+                        "labelPadding": 5,
+                        "ticks": false,
+                        "title": null
+                    },
+                    "field": "study",
+                    "type": "nominal"
+                }
             },
             "layer": [
                 {
-                    "mark": "rule",
                     "encoding": {
-                        "x2": {
-                            "field": "hi"
-                        },
                         "x": {
+                            "axis": {
+                                "gridColor": {
+                                    "condition": {
+                                        "test": "datum.value === 0",
+                                        "value": "#666"
+                                    },
+                                    "value": "#CCC"
+                                },
+                                "gridDash": [
+                                    3,
+                                    3
+                                ],
+                                "title": ""
+                            },
                             "field": "lo",
                             "scale": {
                                 "domain": [
@@ -70,166 +91,145 @@
                                     3
                                 ]
                             },
-                            "type": "quantitative",
-                            "axis": {
-                                "gridDash": [
-                                    3,
-                                    3
-                                ],
-                                "gridColor": {
-                                    "value": "#CCC",
-                                    "condition": {
-                                        "value": "#666",
-                                        "test": "datum.value === 0"
-                                    }
-                                },
-                                "title": ""
-                            }
+                            "type": "quantitative"
+                        },
+                        "x2": {
+                            "field": "hi"
                         }
-                    }
+                    },
+                    "mark": "rule"
                 },
                 {
-                    "mark": {
-                        "opacity": 1,
-                        "stroke": "black",
-                        "type": "circle"
-                    },
                     "encoding": {
                         "color": {
                             "field": "measure",
+                            "legend": null,
                             "scale": {
                                 "range": [
                                     "black",
                                     "white"
                                 ]
                             },
-                            "type": "nominal",
-                            "legend": null
+                            "type": "nominal"
                         },
                         "x": {
                             "field": "mean",
                             "type": "quantitative"
                         }
+                    },
+                    "mark": {
+                        "opacity": 1,
+                        "stroke": "black",
+                        "type": "circle"
                     }
                 }
             ],
-            "encoding": {
-                "y": {
-                    "field": "study",
-                    "type": "nominal",
-                    "axis": {
-                        "domain": false,
-                        "labelPadding": 5,
-                        "grid": false,
-                        "title": null,
-                        "ticks": false
-                    }
-                }
+            "title": {
+                "frame": "bounds",
+                "text": "Mean of Subject Ratings (95% CIs)"
             }
         },
         {
             "data": {
                 "values": [
                     {
-                        "to": -2.9,
                         "from": -0.25,
-                        "label": "PoleStar"
+                        "label": "PoleStar",
+                        "to": -2.9
                     },
                     {
-                        "to": 2.9,
                         "from": 0.25,
-                        "label": "Voyager / Voyager 2"
+                        "label": "Voyager / Voyager 2",
+                        "to": 2.9
                     }
                 ]
             },
             "layer": [
                 {
-                    "mark": "rule",
                     "encoding": {
-                        "x2": {
-                            "field": "to"
-                        },
                         "x": {
+                            "axis": null,
                             "field": "from",
                             "scale": {
                                 "zero": false
                             },
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
+                        },
+                        "x2": {
+                            "field": "to"
                         }
-                    }
+                    },
+                    "mark": "rule"
                 },
                 {
-                    "mark": {
-                        "size": 60,
-                        "fill": "black",
-                        "type": "point",
-                        "filled": true
-                    },
                     "encoding": {
                         "shape": {
-                            "value": "triangle-left",
                             "condition": {
-                                "value": "triangle-right",
-                                "test": "datum.to > 0"
-                            }
+                                "test": "datum.to > 0",
+                                "value": "triangle-right"
+                            },
+                            "value": "triangle-left"
                         },
                         "x": {
+                            "axis": null,
                             "field": "to",
-                            "type": "quantitative",
-                            "axis": null
+                            "type": "quantitative"
                         }
+                    },
+                    "mark": {
+                        "fill": "black",
+                        "filled": true,
+                        "size": 60,
+                        "type": "point"
                     }
                 },
                 {
-                    "transform": [
-                        {
-                            "filter": "datum.label === 'PoleStar'"
+                    "encoding": {
+                        "x": {
+                            "axis": null,
+                            "field": "from",
+                            "type": "quantitative"
                         }
-                    ],
+                    },
                     "mark": {
+                        "align": "right",
                         "style": "arrow-label",
                         "text": [
                             "Polestar",
                             "More Valuable"
                         ],
-                        "align": "right",
                         "type": "text"
                     },
-                    "encoding": {
-                        "x": {
-                            "field": "from",
-                            "type": "quantitative",
-                            "axis": null
+                    "transform": [
+                        {
+                            "filter": "datum.label === 'PoleStar'"
                         }
-                    }
+                    ]
                 },
                 {
-                    "transform": [
-                        {
-                            "filter": "datum.label !== 'PoleStar'"
+                    "encoding": {
+                        "x": {
+                            "axis": null,
+                            "field": "from",
+                            "type": "quantitative"
                         }
-                    ],
+                    },
                     "mark": {
+                        "align": "left",
                         "style": "arrow-label",
                         "text": [
                             "Voyager / Voyager 2",
                             "More Valuable"
                         ],
-                        "align": "left",
                         "type": "text"
                     },
-                    "encoding": {
-                        "x": {
-                            "field": "from",
-                            "type": "quantitative",
-                            "axis": null
+                    "transform": [
+                        {
+                            "filter": "datum.label !== 'PoleStar'"
                         }
-                    }
+                    ]
                 }
             ]
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "spacing": 10
+    ]
 }
diff --git a/tests/specs/gallery/layer/layer1.vl b/tests/specs/gallery/layer/layer1.vl
--- a/tests/specs/gallery/layer/layer1.vl
+++ b/tests/specs/gallery/layer/layer1.vl
@@ -1,254 +1,244 @@
 {
-    "transform": [
-        {
-            "as": "isIncrease",
-            "calculate": "datum.open > datum.close"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "low": 28.45,
-                "ret": -4.89396411092985,
                 "close": 30.04,
                 "date": "01-Jun-2009",
-                "open": 28.7,
                 "high": 30.05,
+                "low": 28.45,
+                "open": 28.7,
+                "ret": -4.89396411092985,
                 "signal": "short"
             },
             {
-                "low": 28.3,
-                "ret": -0.322580645161295,
                 "close": 29.63,
                 "date": "02-Jun-2009",
-                "open": 30.04,
                 "high": 30.13,
+                "low": 28.3,
+                "open": 30.04,
+                "ret": -0.322580645161295,
                 "signal": "short"
             },
             {
-                "low": 29.62,
-                "ret": 3.68663594470045,
                 "close": 31.02,
                 "date": "03-Jun-2009",
-                "open": 29.62,
                 "high": 31.79,
+                "low": 29.62,
+                "open": 29.62,
+                "ret": 3.68663594470045,
                 "signal": "short"
             },
             {
-                "low": 29.92,
-                "ret": 4.51010886469673,
                 "close": 30.18,
                 "date": "04-Jun-2009",
-                "open": 31.02,
                 "high": 31.02,
+                "low": 29.92,
+                "open": 31.02,
+                "ret": 4.51010886469673,
                 "signal": "short"
             },
             {
-                "low": 28.85,
-                "ret": 6.08424336973478,
                 "close": 29.62,
                 "date": "05-Jun-2009",
-                "open": 29.39,
                 "high": 30.81,
+                "low": 28.85,
+                "open": 29.39,
+                "ret": 6.08424336973478,
                 "signal": "short"
             },
             {
-                "low": 26.41,
-                "ret": 1.2539184952978,
                 "close": 29.77,
                 "date": "08-Jun-2009",
-                "open": 30.84,
                 "high": 31.82,
+                "low": 26.41,
+                "open": 30.84,
+                "ret": 1.2539184952978,
                 "signal": "short"
             },
             {
-                "low": 27.79,
-                "ret": -5.02431118314424,
                 "close": 28.27,
                 "date": "09-Jun-2009",
-                "open": 29.77,
                 "high": 29.77,
+                "low": 27.79,
+                "open": 29.77,
+                "ret": -5.02431118314424,
                 "signal": "short"
             },
             {
-                "low": 26.9,
-                "ret": -5.46623794212217,
                 "close": 28.46,
                 "date": "10-Jun-2009",
-                "open": 26.9,
                 "high": 29.74,
+                "low": 26.9,
+                "open": 26.9,
+                "ret": -5.46623794212217,
                 "signal": "short"
             },
             {
-                "low": 26.81,
-                "ret": -8.3743842364532,
                 "close": 28.11,
                 "date": "11-Jun-2009",
-                "open": 27.36,
                 "high": 28.11,
+                "low": 26.81,
+                "open": 27.36,
+                "ret": -8.3743842364532,
                 "signal": "short"
             },
             {
-                "low": 27.73,
-                "ret": -5.52763819095477,
                 "close": 28.15,
                 "date": "12-Jun-2009",
-                "open": 28.08,
                 "high": 28.5,
+                "low": 27.73,
+                "open": 28.08,
+                "ret": -5.52763819095477,
                 "signal": "short"
             },
             {
-                "low": 29.64,
-                "ret": 3.4920634920635,
                 "close": 30.81,
                 "date": "15-Jun-2009",
-                "open": 29.7,
                 "high": 31.09,
+                "low": 29.64,
+                "open": 29.7,
+                "ret": 3.4920634920635,
                 "signal": "long"
             },
             {
-                "low": 30.07,
-                "ret": 0.155038759689914,
                 "close": 32.68,
                 "date": "16-Jun-2009",
-                "open": 30.81,
                 "high": 32.75,
+                "low": 30.07,
+                "open": 30.81,
+                "ret": 0.155038759689914,
                 "signal": "short"
             },
             {
-                "low": 30.64,
-                "ret": 5.82822085889571,
                 "close": 31.54,
                 "date": "17-Jun-2009",
-                "open": 31.19,
                 "high": 32.77,
+                "low": 30.64,
+                "open": 31.19,
+                "ret": 5.82822085889571,
                 "signal": "short"
             },
             {
-                "low": 29.6,
-                "ret": 8.17610062893082,
                 "close": 30.03,
                 "date": "18-Jun-2009",
-                "open": 31.54,
                 "high": 31.54,
+                "low": 29.6,
+                "open": 31.54,
+                "ret": 8.17610062893082,
                 "signal": "short"
             },
             {
-                "low": 27.56,
-                "ret": 8.59872611464968,
                 "close": 27.99,
                 "date": "19-Jun-2009",
-                "open": 29.16,
                 "high": 29.32,
+                "low": 27.56,
+                "open": 29.16,
+                "ret": 8.59872611464968,
                 "signal": "short"
             },
             {
-                "low": 30.3,
-                "ret": 15.4907975460123,
                 "close": 31.17,
                 "date": "22-Jun-2009",
-                "open": 30.4,
                 "high": 32.05,
+                "low": 30.3,
+                "open": 30.4,
+                "ret": 15.4907975460123,
                 "signal": "short"
             },
             {
-                "low": 27.83,
-                "ret": 11.7370892018779,
                 "close": 30.58,
                 "date": "23-Jun-2009",
-                "open": 31.3,
                 "high": 31.54,
+                "low": 27.83,
+                "open": 31.3,
+                "ret": 11.7370892018779,
                 "signal": "short"
             },
             {
-                "low": 28.79,
-                "ret": -10.4234527687296,
                 "close": 29.05,
                 "date": "24-Jun-2009",
-                "open": 30.58,
                 "high": 30.58,
+                "low": 28.79,
+                "open": 30.58,
+                "ret": -10.4234527687296,
                 "signal": "long"
             },
             {
-                "low": 26.3,
-                "ret": 0,
                 "close": 26.36,
                 "date": "25-Jun-2009",
-                "open": 29.45,
                 "high": 29.56,
+                "low": 26.3,
+                "open": 29.45,
+                "ret": 0,
                 "signal": "long"
             },
             {
-                "low": 25.76,
-                "ret": 0,
                 "close": 25.93,
                 "date": "26-Jun-2009",
-                "open": 27.09,
                 "high": 27.22,
+                "low": 25.76,
+                "open": 27.09,
+                "ret": 0,
                 "signal": "long"
             },
             {
-                "low": 25.29,
-                "ret": 5.26315789473684,
                 "close": 25.35,
                 "date": "29-Jun-2009",
-                "open": 25.93,
                 "high": 27.18,
+                "low": 25.29,
+                "open": 25.93,
+                "ret": 5.26315789473684,
                 "signal": "long"
             },
             {
-                "low": 25.02,
-                "ret": 6.73758865248228,
                 "close": 26.35,
                 "date": "30-Jun-2009",
-                "open": 25.36,
                 "high": 27.38,
+                "low": 25.02,
+                "open": 25.36,
+                "ret": 6.73758865248228,
                 "signal": "long"
             }
         ]
     },
-    "width": 320,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A candlestick chart inspired by Protovis (http://mbostock.github.io/protovis/ex/candlestick.html)",
     "layer": [
         {
-            "mark": "rule",
             "encoding": {
                 "color": {
                     "field": "isIncrease",
+                    "legend": null,
                     "scale": {
                         "range": [
                             "#ae1325",
                             "#06982d"
                         ]
                     },
-                    "type": "nominal",
-                    "legend": null
+                    "type": "nominal"
                 },
                 "x": {
+                    "axis": {
+                        "format": "%m/%d",
+                        "title": "Date in 2009"
+                    },
                     "field": "date",
                     "scale": {
                         "domain": [
                             {
                                 "date": 31,
-                                "year": 2009,
-                                "month": "May"
+                                "month": "May",
+                                "year": 2009
                             },
                             {
                                 "date": 1,
-                                "year": 2009,
-                                "month": "Jul"
+                                "month": "Jul",
+                                "year": 2009
                             }
                         ]
                     },
                     "timeUnit": "yearmonthdate",
-                    "type": "temporal",
-                    "axis": {
-                        "format": "%m/%d",
-                        "title": "Date in 2009"
-                    }
-                },
-                "y2": {
-                    "field": "high"
+                    "type": "temporal"
                 },
                 "y": {
                     "field": "low",
@@ -256,16 +246,19 @@
                         "zero": false
                     },
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "high"
                 }
-            }
+            },
+            "mark": "rule"
         },
         {
-            "mark": "bar",
             "encoding": {
                 "color": {
                     "field": "isIncrease",
-                    "type": "nominal",
-                    "legend": null
+                    "legend": null,
+                    "type": "nominal"
                 },
                 "size": {
                     "value": 5
@@ -275,15 +268,22 @@
                     "timeUnit": "yearmonthdate",
                     "type": "temporal"
                 },
-                "y2": {
-                    "field": "close"
-                },
                 "y": {
                     "field": "open",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "close"
                 }
-            }
+            },
+            "mark": "bar"
         }
     ],
-    "description": "A candlestick chart inspired by Protovis (http://mbostock.github.io/protovis/ex/candlestick.html)"
+    "transform": [
+        {
+            "as": "isIncrease",
+            "calculate": "datum.open > datum.close"
+        }
+    ],
+    "width": 320
 }
diff --git a/tests/specs/gallery/layer/layer2.vl b/tests/specs/gallery/layer/layer2.vl
--- a/tests/specs/gallery/layer/layer2.vl
+++ b/tests/specs/gallery/layer/layer2.vl
@@ -1,56 +1,46 @@
 {
-    "transform": [
-        {
-            "filter": {
-                "field": "country",
-                "oneOf": [
-                    "China",
-                    "India",
-                    "United States",
-                    "Indonesia",
-                    "Brazil"
-                ]
-            }
-        },
-        {
-            "filter": {
-                "field": "year",
-                "oneOf": [
-                    1955,
-                    2000
-                ]
-            }
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/countries.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A ranged dot plot that uses 'layer' to convey changing life expectancy for the five most populous countries (between 1955 and 2000).",
+    "encoding": {
+        "y": {
+            "axis": {
+                "domain": false,
+                "minExtent": 70,
+                "offset": 5,
+                "ticks": false,
+                "title": "Country"
+            },
+            "field": "country",
+            "type": "nominal"
+        }
+    },
     "layer": [
         {
-            "mark": "line",
             "encoding": {
                 "color": {
                     "value": "#db646f"
                 },
-                "x": {
-                    "field": "life_expect",
-                    "type": "quantitative"
-                },
                 "detail": {
                     "field": "country",
                     "type": "nominal"
+                },
+                "x": {
+                    "field": "life_expect",
+                    "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         },
         {
-            "mark": {
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "color": {
                     "field": "year",
+                    "legend": {
+                        "title": "Year"
+                    },
                     "scale": {
                         "domain": [
                             1955,
@@ -61,39 +51,49 @@
                             "#911a24"
                         ]
                     },
-                    "type": "ordinal",
-                    "legend": {
-                        "title": "Year"
-                    }
-                },
-                "size": {
-                    "value": 100
+                    "type": "ordinal"
                 },
                 "opacity": {
                     "value": 1
                 },
+                "size": {
+                    "value": 100
+                },
                 "x": {
-                    "field": "life_expect",
-                    "type": "quantitative",
                     "axis": {
                         "title": "Life Expectancy (years)"
-                    }
+                    },
+                    "field": "life_expect",
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "filled": true,
+                "type": "point"
             }
         }
     ],
-    "encoding": {
-        "y": {
-            "field": "country",
-            "type": "nominal",
-            "axis": {
-                "minExtent": 70,
-                "offset": 5,
-                "domain": false,
-                "title": "Country",
-                "ticks": false
+    "transform": [
+        {
+            "filter": {
+                "field": "country",
+                "oneOf": [
+                    "China",
+                    "India",
+                    "United States",
+                    "Indonesia",
+                    "Brazil"
+                ]
             }
+        },
+        {
+            "filter": {
+                "field": "year",
+                "oneOf": [
+                    1955,
+                    2000
+                ]
+            }
         }
-    },
-    "description": "A ranged dot plot that uses 'layer' to convey changing life expectancy for the five most populous countries (between 1955 and 2000)."
+    ]
 }
diff --git a/tests/specs/gallery/layer/layer3.vl b/tests/specs/gallery/layer/layer3.vl
--- a/tests/specs/gallery/layer/layer3.vl
+++ b/tests/specs/gallery/layer/layer3.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "tick": {
             "thickness": 2
@@ -7,13 +8,13 @@
     "data": {
         "values": [
             {
+                "markers": [
+                    250
+                ],
                 "measures": [
                     220,
                     270
                 ],
-                "markers": [
-                    250
-                ],
                 "ranges": [
                     150,
                     225,
@@ -22,13 +23,13 @@
                 "title": "Revenue"
             },
             {
+                "markers": [
+                    26
+                ],
                 "measures": [
                     21,
                     23
                 ],
-                "markers": [
-                    26
-                ],
                 "ranges": [
                     20,
                     25,
@@ -37,13 +38,13 @@
                 "title": "Profit"
             },
             {
+                "markers": [
+                    550
+                ],
                 "measures": [
                     100,
                     320
                 ],
-                "markers": [
-                    550
-                ],
                 "ranges": [
                     350,
                     500,
@@ -52,13 +53,13 @@
                 "title": "Order size"
             },
             {
+                "markers": [
+                    2100
+                ],
                 "measures": [
                     1000,
                     1650
                 ],
-                "markers": [
-                    2100
-                ],
                 "ranges": [
                     1400,
                     2000,
@@ -67,13 +68,13 @@
                 "title": "New customers"
             },
             {
+                "markers": [
+                    4.4
+                ],
                 "measures": [
                     3.2,
                     4.7
                 ],
-                "markers": [
-                    4.4
-                ],
                 "ranges": [
                     3.5,
                     4.25,
@@ -83,6 +84,17 @@
             }
         ]
     },
+    "description": "Bullet chart",
+    "facet": {
+        "row": {
+            "field": "title",
+            "header": {
+                "labelAngle": 30,
+                "title": null
+            },
+            "type": "ordinal"
+        }
+    },
     "resolve": {
         "scale": {
             "x": "independent"
@@ -91,97 +103,85 @@
     "spec": {
         "layer": [
             {
-                "mark": {
-                    "color": "#eee",
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
+                        "axis": {
+                            "title": null
+                        },
                         "field": "ranges[2]",
                         "scale": {
                             "nice": false
                         },
-                        "type": "quantitative",
-                        "axis": {
-                            "title": null
-                        }
+                        "type": "quantitative"
                     }
+                },
+                "mark": {
+                    "color": "#eee",
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "#ddd",
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "ranges[1]",
                         "type": "quantitative"
                     }
+                },
+                "mark": {
+                    "color": "#ddd",
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "#ccc",
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "ranges[0]",
                         "type": "quantitative"
                     }
+                },
+                "mark": {
+                    "color": "#ccc",
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "lightsteelblue",
-                    "size": 10,
-                    "type": "bar"
-                },
                 "encoding": {
                     "x": {
                         "field": "measures[1]",
                         "type": "quantitative"
                     }
-                }
-            },
-            {
+                },
                 "mark": {
-                    "color": "steelblue",
+                    "color": "lightsteelblue",
                     "size": 10,
                     "type": "bar"
-                },
+                }
+            },
+            {
                 "encoding": {
                     "x": {
                         "field": "measures[0]",
                         "type": "quantitative"
                     }
+                },
+                "mark": {
+                    "color": "steelblue",
+                    "size": 10,
+                    "type": "bar"
                 }
             },
             {
-                "mark": {
-                    "color": "black",
-                    "type": "tick"
-                },
                 "encoding": {
                     "x": {
                         "field": "markers[0]",
                         "type": "quantitative"
                     }
+                },
+                "mark": {
+                    "color": "black",
+                    "type": "tick"
                 }
             }
         ]
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "facet": {
-        "row": {
-            "field": "title",
-            "header": {
-                "labelAngle": 30,
-                "title": null
-            },
-            "type": "ordinal"
-        }
-    },
-    "description": "Bullet chart"
+    }
 }
diff --git a/tests/specs/gallery/layer/layer4.vl b/tests/specs/gallery/layer/layer4.vl
--- a/tests/specs/gallery/layer/layer4.vl
+++ b/tests/specs/gallery/layer/layer4.vl
@@ -1,53 +1,53 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "resolve": {
-        "scale": {
-            "y": "independent"
+    "description": "Layered bar/line chart with dual axes",
+    "encoding": {
+        "x": {
+            "field": "date",
+            "timeUnit": "month",
+            "type": "ordinal"
         }
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "y": {
-                    "field": "precipitation",
                     "aggregate": "mean",
-                    "type": "quantitative",
                     "axis": {
                         "grid": false
-                    }
+                    },
+                    "field": "precipitation",
+                    "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": "line",
             "encoding": {
                 "color": {
                     "value": "firebrick"
                 },
                 "y": {
+                    "aggregate": "mean",
+                    "axis": {
+                        "grid": false
+                    },
                     "field": "temp_max",
                     "scale": {
                         "zero": false
                     },
-                    "aggregate": "mean",
-                    "type": "quantitative",
-                    "axis": {
-                        "grid": false
-                    }
+                    "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "date",
-            "timeUnit": "month",
-            "type": "ordinal"
+    "resolve": {
+        "scale": {
+            "y": "independent"
         }
-    },
-    "description": "Layered bar/line chart with dual axes"
+    }
 }
diff --git a/tests/specs/gallery/layer/layer5.vl b/tests/specs/gallery/layer/layer5.vl
--- a/tests/specs/gallery/layer/layer5.vl
+++ b/tests/specs/gallery/layer/layer5.vl
@@ -1,9 +1,9 @@
 {
-    "height": 50,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "area": {
-            "orient": "vertical",
-            "interpolate": "monotone"
+            "interpolate": "monotone",
+            "orient": "vertical"
         }
     },
     "data": {
@@ -90,14 +90,20 @@
             }
         ]
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Horizon chart with 2 layers. (See https://idl.cs.washington.edu/papers/horizon/ for more details on horizon charts.)",
+    "encoding": {
+        "x": {
+            "field": "x",
+            "scale": {
+                "nice": false,
+                "zero": false
+            },
+            "type": "quantitative"
+        }
+    },
+    "height": 50,
     "layer": [
         {
-            "mark": {
-                "type": "area",
-                "clip": true
-            },
             "encoding": {
                 "opacity": {
                     "value": 0.6
@@ -112,24 +118,21 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "clip": true,
+                "type": "area"
             }
         },
         {
-            "transform": [
-                {
-                    "as": "ny",
-                    "calculate": "datum.y - 50"
-                }
-            ],
-            "mark": {
-                "type": "area",
-                "clip": true
-            },
             "encoding": {
                 "opacity": {
                     "value": 0.3
                 },
                 "y": {
+                    "axis": {
+                        "title": "y"
+                    },
                     "field": "ny",
                     "scale": {
                         "domain": [
@@ -137,23 +140,20 @@
                             50
                         ]
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": "y"
-                    }
+                    "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "x",
-            "scale": {
-                "zero": false,
-                "nice": false
             },
-            "type": "quantitative"
+            "mark": {
+                "clip": true,
+                "type": "area"
+            },
+            "transform": [
+                {
+                    "as": "ny",
+                    "calculate": "datum.y - 50"
+                }
+            ]
         }
-    },
-    "description": "Horizon chart with 2 layers. (See https://idl.cs.washington.edu/papers/horizon/ for more details on horizon charts.)"
+    ],
+    "width": 300
 }
diff --git a/tests/specs/gallery/layer/layer6.vl b/tests/specs/gallery/layer/layer6.vl
--- a/tests/specs/gallery/layer/layer6.vl
+++ b/tests/specs/gallery/layer/layer6.vl
@@ -1,23 +1,26 @@
 {
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/weather.json"
     },
-    "width": 250,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": {
-        "text": [
-            "Weekly Weather",
-            "Observations and Predictions"
-        ],
-        "frame": "group"
+    "description": "A layered bar chart with floating bars representing weekly weather data",
+    "encoding": {
+        "x": {
+            "axis": {
+                "domain": false,
+                "labels": false,
+                "orient": "top",
+                "ticks": false,
+                "title": null,
+                "titlePadding": 25
+            },
+            "field": "id",
+            "type": "ordinal"
+        }
     },
+    "height": 200,
     "layer": [
         {
-            "mark": {
-                "style": "box",
-                "type": "bar"
-            },
             "encoding": {
                 "color": {
                     "value": "#ccc"
@@ -25,10 +28,10 @@
                 "size": {
                     "value": 20
                 },
-                "y2": {
-                    "field": "record.high"
-                },
                 "y": {
+                    "axis": {
+                        "title": "Temperature (F)"
+                    },
                     "field": "record.low",
                     "scale": {
                         "domain": [
@@ -36,18 +39,18 @@
                             70
                         ]
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": "Temperature (F)"
-                    }
+                    "type": "quantitative"
+                },
+                "y2": {
+                    "field": "record.high"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "box",
                 "type": "bar"
-            },
+            }
+        },
+        {
             "encoding": {
                 "color": {
                     "value": "#999"
@@ -55,20 +58,20 @@
                 "size": {
                     "value": 20
                 },
-                "y2": {
-                    "field": "normal.high"
-                },
                 "y": {
                     "field": "normal.low",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "normal.high"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "box",
                 "type": "bar"
-            },
+            }
+        },
+        {
             "encoding": {
                 "color": {
                     "value": "#000"
@@ -76,20 +79,20 @@
                 "size": {
                     "value": 12
                 },
-                "y2": {
-                    "field": "actual.high"
-                },
                 "y": {
                     "field": "actual.low",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "actual.high"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "box",
                 "type": "bar"
-            },
+            }
+        },
+        {
             "encoding": {
                 "color": {
                     "value": "#000"
@@ -97,20 +100,20 @@
                 "size": {
                     "value": 12
                 },
-                "y2": {
-                    "field": "forecast.low.high"
-                },
                 "y": {
                     "field": "forecast.low.low",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "forecast.low.high"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "box",
                 "type": "bar"
-            },
+            }
+        },
+        {
             "encoding": {
                 "color": {
                     "value": "#000"
@@ -118,20 +121,20 @@
                 "size": {
                     "value": 3
                 },
-                "y2": {
-                    "field": "forecast.high.low"
-                },
                 "y": {
                     "field": "forecast.low.high",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "forecast.high.low"
                 }
-            }
-        },
-        {
+            },
             "mark": {
                 "style": "box",
                 "type": "bar"
-            },
+            }
+        },
+        {
             "encoding": {
                 "color": {
                     "value": "#000"
@@ -139,43 +142,40 @@
                 "size": {
                     "value": 12
                 },
-                "y2": {
-                    "field": "forecast.high.high"
-                },
                 "y": {
                     "field": "forecast.high.low",
                     "type": "quantitative"
+                },
+                "y2": {
+                    "field": "forecast.high.high"
                 }
+            },
+            "mark": {
+                "style": "box",
+                "type": "bar"
             }
         },
         {
-            "mark": {
-                "align": "center",
-                "type": "text",
-                "baseline": "bottom",
-                "y": -5
-            },
             "encoding": {
                 "text": {
                     "field": "day",
                     "type": "nominal"
                 }
+            },
+            "mark": {
+                "align": "center",
+                "baseline": "bottom",
+                "type": "text",
+                "y": -5
             }
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "id",
-            "type": "ordinal",
-            "axis": {
-                "domain": false,
-                "orient": "top",
-                "titlePadding": 25,
-                "labels": false,
-                "title": null,
-                "ticks": false
-            }
-        }
+    "title": {
+        "frame": "group",
+        "text": [
+            "Weekly Weather",
+            "Observations and Predictions"
+        ]
     },
-    "description": "A layered bar chart with floating bars representing weekly weather data"
+    "width": 250
 }
diff --git a/tests/specs/gallery/layer/layer7.vl b/tests/specs/gallery/layer/layer7.vl
--- a/tests/specs/gallery/layer/layer7.vl
+++ b/tests/specs/gallery/layer/layer7.vl
@@ -1,55 +1,35 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "rolling_mean",
-                    "field": "temp_max"
-                }
-            ],
-            "frame": [
-                -15,
-                15
-            ]
-        }
-    ],
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Plot showing a 30 day rolling average with raw values in the background.",
+    "height": 300,
     "layer": [
         {
-            "mark": {
-                "opacity": 0.3,
-                "type": "point"
-            },
             "encoding": {
                 "x": {
-                    "field": "date",
-                    "title": "Date",
-                    "type": "temporal",
                     "axis": {
-                        "zindex": 1,
                         "gridColor": "orange",
-                        "gridOpacity": 0.8
-                    }
+                        "gridOpacity": 0.8,
+                        "zindex": 1
+                    },
+                    "field": "date",
+                    "title": "Date",
+                    "type": "temporal"
                 },
                 "y": {
                     "field": "temp_max",
                     "title": "Max Temperature",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "opacity": 0.3,
+                "type": "point"
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 3,
-                "type": "line"
-            },
             "encoding": {
                 "x": {
                     "field": "date",
@@ -59,8 +39,28 @@
                     "field": "rolling_mean",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "size": 3,
+                "type": "line"
             }
         }
     ],
-    "description": "Plot showing a 30 day rolling average with raw values in the background."
+    "transform": [
+        {
+            "frame": [
+                -15,
+                15
+            ],
+            "window": [
+                {
+                    "as": "rolling_mean",
+                    "field": "temp_max",
+                    "op": "mean"
+                }
+            ]
+        }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/gallery/layer/layer_bar_fruit.vl b/tests/specs/gallery/layer/layer_bar_fruit.vl
--- a/tests/specs/gallery/layer/layer_bar_fruit.vl
+++ b/tests/specs/gallery/layer/layer_bar_fruit.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -35,59 +36,58 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Vega-Lite version of bar chart from https://observablehq.com/@d3/learn-d3-scales.",
+    "encoding": {
+        "x": {
+            "field": "count",
+            "title": null,
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "name",
+            "sort": {
+                "encoding": "x",
+                "order": "descending"
+            },
+            "title": null,
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "color": {
                     "field": "count",
                     "title": "Number of fruit",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": {
-                "aria": false,
-                "align": "right",
-                "xOffset": -4,
-                "type": "text"
-            },
             "encoding": {
                 "color": {
-                    "value": "black",
                     "condition": {
-                        "value": "white",
                         "test": {
                             "field": "count",
                             "gt": 10
-                        }
-                    }
+                        },
+                        "value": "white"
+                    },
+                    "value": "black"
                 },
                 "text": {
                     "field": "count",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "align": "right",
+                "aria": false,
+                "type": "text",
+                "xOffset": -4
             }
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "count",
-            "title": null,
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "name",
-            "sort": {
-                "encoding": "x",
-                "order": "descending"
-            },
-            "title": null,
-            "type": "ordinal"
-        }
-    },
-    "description": "Vega-Lite version of bar chart from https://observablehq.com/@d3/learn-d3-scales."
+    "width": 400
 }
diff --git a/tests/specs/gallery/layer/layertimeunitrect.vl b/tests/specs/gallery/layer/layertimeunitrect.vl
--- a/tests/specs/gallery/layer/layertimeunitrect.vl
+++ b/tests/specs/gallery/layer/layertimeunitrect.vl
@@ -1,55 +1,55 @@
 {
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Drawing rect bin from the beginning of May to end of July",
     "layer": [
         {
-            "mark": "bar",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
             },
             "encoding": {
                 "x": {
+                    "axis": {
+                        "labelAlign": "left",
+                        "labelExpr": "datum.label[0]"
+                    },
                     "field": "date",
                     "timeUnit": "month",
                     "title": "month",
-                    "type": "temporal",
-                    "axis": {
-                        "labelExpr": "datum.label[0]",
-                        "labelAlign": "left"
-                    }
+                    "type": "temporal"
                 },
                 "y": {
-                    "field": "precipitation",
                     "aggregate": "mean",
+                    "field": "precipitation",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": {
-                "color": "grey",
-                "opacity": 0.5,
-                "type": "rect"
-            },
             "data": {
                 "values": [
                     {
-                        "date_end": "July 15, 2010",
-                        "date": "May 1, 2010"
+                        "date": "May 1, 2010",
+                        "date_end": "July 15, 2010"
                     }
                 ]
             },
             "encoding": {
-                "x2": {
-                    "field": "date_end",
-                    "timeUnit": "month"
-                },
                 "x": {
                     "field": "date",
                     "timeUnit": "month",
                     "type": "temporal"
+                },
+                "x2": {
+                    "field": "date_end",
+                    "timeUnit": "month"
                 }
+            },
+            "mark": {
+                "color": "grey",
+                "opacity": 0.5,
+                "type": "rect"
             }
         }
-    ],
-    "description": "Drawing rect bin from the beginning of May to end of July"
+    ]
 }
diff --git a/tests/specs/gallery/line/conditionalaxis.vl b/tests/specs/gallery/line/conditionalaxis.vl
--- a/tests/specs/gallery/line/conditionalaxis.vl
+++ b/tests/specs/gallery/line/conditionalaxis.vl
@@ -1,76 +1,76 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        },
-        {
-            "filter": {
-                "field": "date",
-                "timeUnit": "year",
-                "range": [
-                    2006,
-                    2007
-                ]
-            }
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "axis": {
             "domainColor": "#ddd",
             "tickColor": "#ddd"
         }
     },
-    "mark": "line",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Line chart with conditional axis ticks, labels, and grid.",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
-                "tickSize": 30,
-                "labelOffset": 4,
-                "tickDash": {
-                    "value": [
-                        2,
-                        2
-                    ],
+                "gridDash": {
                     "condition": {
-                        "value": [],
                         "test": {
                             "equal": 1,
                             "field": "value",
                             "timeUnit": "month"
-                        }
-                    }
-                },
-                "tickCount": 8,
-                "gridDash": {
+                        },
+                        "value": []
+                    },
                     "value": [
                         2,
                         2
-                    ],
+                    ]
+                },
+                "labelAlign": "left",
+                "labelExpr": "[timeFormat(datum.value, '%b'), timeFormat(datum.value, '%m') == '01' ? timeFormat(datum.value, '%Y') : '']",
+                "labelOffset": 4,
+                "labelPadding": -24,
+                "tickCount": 8,
+                "tickDash": {
                     "condition": {
-                        "value": [],
                         "test": {
                             "equal": 1,
                             "field": "value",
                             "timeUnit": "month"
-                        }
-                    }
+                        },
+                        "value": []
+                    },
+                    "value": [
+                        2,
+                        2
+                    ]
                 },
-                "labelExpr": "[timeFormat(datum.value, '%b'), timeFormat(datum.value, '%m') == '01' ? timeFormat(datum.value, '%Y') : '']",
-                "labelPadding": -24,
-                "labelAlign": "left"
-            }
+                "tickSize": 30
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Line chart with conditional axis ticks, labels, and grid."
+    "mark": "line",
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        },
+        {
+            "filter": {
+                "field": "date",
+                "range": [
+                    2006,
+                    2007
+                ],
+                "timeUnit": "year"
+            }
+        }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/gallery/line/line1.vl b/tests/specs/gallery/line/line1.vl
--- a/tests/specs/gallery/line/line1.vl
+++ b/tests/specs/gallery/line/line1.vl
@@ -1,26 +1,26 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Google's stock price over time.",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Google's stock price over time."
+    "mark": "line",
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/line/line10.vl b/tests/specs/gallery/line/line10.vl
--- a/tests/specs/gallery/line/line10.vl
+++ b/tests/specs/gallery/line/line10.vl
@@ -1,64 +1,90 @@
 {
-    "transform": [
-        {
-            "as": "year",
-            "calculate": "year(datum.Date)"
-        },
-        {
-            "as": "month",
-            "calculate": "month(datum.Date)"
-        },
-        {
-            "as": "decade",
-            "calculate": "floor(datum.year / 10)"
-        },
-        {
-            "as": "scaled_date",
-            "calculate": "(datum.year % 10) + (datum.month / 12)"
-        }
-    ],
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/co2-concentration.csv",
         "format": {
             "parse": {
                 "Date": "utc:'%Y-%m-%d'"
             }
+        },
+        "url": "https://vega.github.io/vega-lite/data/co2-concentration.csv"
+    },
+    "description": "Carbon dioxide in the atmosphere.",
+    "encoding": {
+        "x": {
+            "axis": {
+                "tickCount": 10,
+                "title": "Year into decade",
+                "values": [
+                    1,
+                    2,
+                    3,
+                    4,
+                    5,
+                    6,
+                    7,
+                    8,
+                    9
+                ]
+            },
+            "field": "scaled_date",
+            "type": "quantitative"
+        },
+        "y": {
+            "axis": {
+                "title": "CO2 concentration in ppm"
+            },
+            "field": "CO2",
+            "scale": {
+                "zero": false
+            },
+            "type": "quantitative"
         }
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 500,
     "layer": [
         {
-            "mark": {
-                "orient": "vertical",
-                "type": "line"
-            },
             "encoding": {
                 "color": {
                     "field": "decade",
-                    "type": "nominal",
-                    "legend": null
+                    "legend": null,
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "orient": "vertical",
+                "type": "line"
             }
         },
         {
+            "encoding": {
+                "text": {
+                    "field": "aggregated.year",
+                    "type": "nominal"
+                }
+            },
+            "mark": {
+                "align": "left",
+                "baseline": "top",
+                "dx": 3,
+                "dy": 1,
+                "type": "text"
+            },
             "transform": [
                 {
-                    "groupby": [
-                        "decade"
-                    ],
                     "aggregate": [
                         {
-                            "op": "argmin",
                             "as": "aggregated",
-                            "field": "scaled_date"
+                            "field": "scaled_date",
+                            "op": "argmin"
                         }
+                    ],
+                    "groupby": [
+                        "decade"
                     ]
                 },
                 {
@@ -69,33 +95,33 @@
                     "as": "CO2",
                     "calculate": "datum.aggregated.CO2"
                 }
-            ],
-            "mark": {
-                "dx": 3,
-                "dy": 1,
-                "align": "left",
-                "type": "text",
-                "baseline": "top"
-            },
+            ]
+        },
+        {
             "encoding": {
                 "text": {
                     "field": "aggregated.year",
                     "type": "nominal"
                 }
-            }
-        },
-        {
+            },
+            "mark": {
+                "align": "left",
+                "baseline": "bottom",
+                "dx": 3,
+                "dy": 1,
+                "type": "text"
+            },
             "transform": [
                 {
-                    "groupby": [
-                        "decade"
-                    ],
                     "aggregate": [
                         {
-                            "op": "argmax",
                             "as": "aggregated",
-                            "field": "scaled_date"
+                            "field": "scaled_date",
+                            "op": "argmax"
                         }
+                    ],
+                    "groupby": [
+                        "decade"
                     ]
                 },
                 {
@@ -106,52 +132,26 @@
                     "as": "CO2",
                     "calculate": "datum.aggregated.CO2"
                 }
-            ],
-            "mark": {
-                "dx": 3,
-                "dy": 1,
-                "align": "left",
-                "type": "text",
-                "baseline": "bottom"
-            },
-            "encoding": {
-                "text": {
-                    "field": "aggregated.year",
-                    "type": "nominal"
-                }
-            }
+            ]
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "scaled_date",
-            "type": "quantitative",
-            "axis": {
-                "values": [
-                    1,
-                    2,
-                    3,
-                    4,
-                    5,
-                    6,
-                    7,
-                    8,
-                    9
-                ],
-                "tickCount": 10,
-                "title": "Year into decade"
-            }
+    "transform": [
+        {
+            "as": "year",
+            "calculate": "year(datum.Date)"
         },
-        "y": {
-            "field": "CO2",
-            "scale": {
-                "zero": false
-            },
-            "type": "quantitative",
-            "axis": {
-                "title": "CO2 concentration in ppm"
-            }
+        {
+            "as": "month",
+            "calculate": "month(datum.Date)"
+        },
+        {
+            "as": "decade",
+            "calculate": "floor(datum.year / 10)"
+        },
+        {
+            "as": "scaled_date",
+            "calculate": "(datum.year % 10) + (datum.month / 12)"
         }
-    },
-    "description": "Carbon dioxide in the atmosphere."
+    ],
+    "width": 800
 }
diff --git a/tests/specs/gallery/line/line11.vl b/tests/specs/gallery/line/line11.vl
--- a/tests/specs/gallery/line/line11.vl
+++ b/tests/specs/gallery/line/line11.vl
@@ -1,108 +1,82 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "rank"
-                }
-            ],
-            "groupby": [
-                "matchday"
-            ],
-            "sort": [
-                {
-                    "field": "point",
-                    "order": "descending"
-                },
-                {
-                    "field": "diff",
-                    "order": "descending"
-                }
-            ]
-        }
-    ],
-    "mark": {
-        "orient": "vertical",
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "diff": -1,
-                "point": 0,
                 "matchday": 1,
+                "point": 0,
                 "team": "Germany"
             },
             {
                 "diff": 1,
-                "point": 3,
                 "matchday": 1,
+                "point": 3,
                 "team": "Mexico"
             },
             {
                 "diff": -1,
-                "point": 0,
                 "matchday": 1,
+                "point": 0,
                 "team": "South Korea"
             },
             {
                 "diff": 1,
-                "point": 3,
                 "matchday": 1,
+                "point": 3,
                 "team": "Sweden"
             },
             {
                 "diff": 0,
-                "point": 3,
                 "matchday": 2,
+                "point": 3,
                 "team": "Germany"
             },
             {
                 "diff": 2,
-                "point": 6,
                 "matchday": 2,
+                "point": 6,
                 "team": "Mexico"
             },
             {
                 "diff": -2,
-                "point": 0,
                 "matchday": 2,
+                "point": 0,
                 "team": "South Korea"
             },
             {
                 "diff": 0,
-                "point": 3,
                 "matchday": 2,
+                "point": 3,
                 "team": "Sweden"
             },
             {
                 "diff": -2,
-                "point": 3,
                 "matchday": 3,
+                "point": 3,
                 "team": "Germany"
             },
             {
                 "diff": -1,
-                "point": 6,
                 "matchday": 3,
+                "point": 6,
                 "team": "Mexico"
             },
             {
                 "diff": 0,
-                "point": 3,
                 "matchday": 3,
+                "point": 3,
                 "team": "South Korea"
             },
             {
                 "diff": 3,
-                "point": 6,
                 "matchday": 3,
+                "point": 6,
                 "team": "Sweden"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Line chart showing ranks over time for thw World Cup 2018 Group F teams",
     "encoding": {
         "color": {
             "field": "team",
@@ -131,5 +105,31 @@
             "type": "ordinal"
         }
     },
-    "description": "Line chart showing ranks over time for thw World Cup 2018 Group F teams"
+    "mark": {
+        "orient": "vertical",
+        "type": "line"
+    },
+    "transform": [
+        {
+            "groupby": [
+                "matchday"
+            ],
+            "sort": [
+                {
+                    "field": "point",
+                    "order": "descending"
+                },
+                {
+                    "field": "diff",
+                    "order": "descending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "rank"
+                }
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/gallery/line/line12.vl b/tests/specs/gallery/line/line12.vl
--- a/tests/specs/gallery/line/line12.vl
+++ b/tests/specs/gallery/line/line12.vl
@@ -1,15 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "v",
-            "calculate": "sin(datum.u)"
-        },
-        {
-            "as": "w",
-            "calculate": "cos(datum.u)"
-        }
-    ],
-    "height": 150,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "u",
@@ -18,11 +8,10 @@
             "stop": 12.7
         }
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Plots a function using a generated sequence",
+    "height": 150,
     "layer": [
         {
-            "mark": "line",
             "encoding": {
                 "x": {
                     "field": "u",
@@ -34,13 +23,10 @@
                     "title": "sin(x)",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         },
         {
-            "mark": {
-                "stroke": "firebrick",
-                "type": "line"
-            },
             "encoding": {
                 "x": {
                     "field": "u",
@@ -52,8 +38,22 @@
                     "title": "cos(x)",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "stroke": "firebrick",
+                "type": "line"
             }
         }
     ],
-    "description": "Plots a function using a generated sequence"
+    "transform": [
+        {
+            "as": "v",
+            "calculate": "sin(datum.u)"
+        },
+        {
+            "as": "w",
+            "calculate": "cos(datum.u)"
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/gallery/line/line2.vl b/tests/specs/gallery/line/line2.vl
--- a/tests/specs/gallery/line/line2.vl
+++ b/tests/specs/gallery/line/line2.vl
@@ -1,32 +1,32 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        }
-    ],
-    "mark": {
-        "color": "green",
-        "point": {
-            "color": "purple"
-        },
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Google's stock price over time with point markers.",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Google's stock price over time with point markers."
+    "mark": {
+        "color": "green",
+        "point": {
+            "color": "purple"
+        },
+        "type": "line"
+    },
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/line/line3.vl b/tests/specs/gallery/line/line3.vl
--- a/tests/specs/gallery/line/line3.vl
+++ b/tests/specs/gallery/line/line3.vl
@@ -1,25 +1,25 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Stock prices of 5 tech companies over time.",
     "encoding": {
         "color": {
             "field": "symbol",
             "type": "nominal"
         },
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Stock prices of 5 tech companies over time."
+    "mark": "line"
 }
diff --git a/tests/specs/gallery/line/line4.vl b/tests/specs/gallery/line/line4.vl
--- a/tests/specs/gallery/line/line4.vl
+++ b/tests/specs/gallery/line/line4.vl
@@ -1,12 +1,9 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/barley.json"
     },
-    "width": {
-        "step": 50
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Slope graph showing the change in yield for different barley sites. It shows the error in the year labels for the Morris site.",
     "encoding": {
         "color": {
             "field": "site",
@@ -20,10 +17,13 @@
             "type": "ordinal"
         },
         "y": {
-            "field": "yield",
             "aggregate": "median",
+            "field": "yield",
             "type": "quantitative"
         }
     },
-    "description": "Slope graph showing the change in yield for different barley sites. It shows the error in the year labels for the Morris site."
+    "mark": "line",
+    "width": {
+        "step": 50
+    }
 }
diff --git a/tests/specs/gallery/line/line5.vl b/tests/specs/gallery/line/line5.vl
--- a/tests/specs/gallery/line/line5.vl
+++ b/tests/specs/gallery/line/line5.vl
@@ -1,29 +1,29 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        }
-    ],
-    "mark": {
-        "interpolate": "step-after",
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Google's stock price over time (quantized as a step-chart).",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Google's stock price over time (quantized as a step-chart)."
+    "mark": {
+        "interpolate": "step-after",
+        "type": "line"
+    },
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/line/line6.vl b/tests/specs/gallery/line/line6.vl
--- a/tests/specs/gallery/line/line6.vl
+++ b/tests/specs/gallery/line/line6.vl
@@ -1,29 +1,29 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol === 'GOOG'"
-        }
-    ],
-    "mark": {
-        "interpolate": "monotone",
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Google's stock price over time (smoothed with monotonic interpolation).",
     "encoding": {
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Google's stock price over time (smoothed with monotonic interpolation)."
+    "mark": {
+        "interpolate": "monotone",
+        "type": "line"
+    },
+    "transform": [
+        {
+            "filter": "datum.symbol === 'GOOG'"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/line/line7.vl b/tests/specs/gallery/line/line7.vl
--- a/tests/specs/gallery/line/line7.vl
+++ b/tests/specs/gallery/line/line7.vl
@@ -1,13 +1,13 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/driving.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A connected scatterplot can be created by customizing line order and adding point marker in the line mark definition.",
     "encoding": {
+        "order": {
+            "field": "year"
+        },
         "x": {
             "field": "miles",
             "scale": {
@@ -15,9 +15,6 @@
             },
             "type": "quantitative"
         },
-        "order": {
-            "field": "year"
-        },
         "y": {
             "field": "gas",
             "scale": {
@@ -26,5 +23,8 @@
             "type": "quantitative"
         }
     },
-    "description": "A connected scatterplot can be created by customizing line order and adding point marker in the line mark definition."
+    "mark": {
+        "point": true,
+        "type": "line"
+    }
 }
diff --git a/tests/specs/gallery/line/line8.vl b/tests/specs/gallery/line/line8.vl
--- a/tests/specs/gallery/line/line8.vl
+++ b/tests/specs/gallery/line/line8.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "trail",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Stock prices of five tech companies over time double encoding price with vertical position and line thickness.",
     "encoding": {
         "color": {
             "field": "symbol",
@@ -14,16 +14,16 @@
             "type": "quantitative"
         },
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
     },
-    "description": "Stock prices of five tech companies over time double encoding price with vertical position and line thickness."
+    "mark": "trail"
 }
diff --git a/tests/specs/gallery/line/line9.vl b/tests/specs/gallery/line/line9.vl
--- a/tests/specs/gallery/line/line9.vl
+++ b/tests/specs/gallery/line/line9.vl
@@ -1,8 +1,5 @@
 {
-    "mark": {
-        "point": true,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -35,7 +32,7 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Line chart with markers and invalid values.",
     "encoding": {
         "x": {
             "field": "x",
@@ -46,5 +43,8 @@
             "type": "quantitative"
         }
     },
-    "description": "Line chart with markers and invalid values."
+    "mark": {
+        "point": true,
+        "type": "line"
+    }
 }
diff --git a/tests/specs/gallery/line/linecolorhalo.vl b/tests/specs/gallery/line/linecolorhalo.vl
--- a/tests/specs/gallery/line/linecolorhalo.vl
+++ b/tests/specs/gallery/line/linecolorhalo.vl
@@ -1,16 +1,9 @@
 {
-    "transform": [
-        {
-            "groupby": [
-                "date"
-            ],
-            "value": "price",
-            "pivot": "symbol"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
+    "description": "Multi-series Line Chart with Halo. Use pivot and repeat-layer as a workaround to facet groups of lines and their halo strokes. See https://github.com/vega/vega-lite/issues/6192 for more discussion.",
     "repeat": {
         "layer": [
             "AAPL",
@@ -23,11 +16,6 @@
     "spec": {
         "layer": [
             {
-                "mark": {
-                    "strokeWidth": 4,
-                    "stroke": "white",
-                    "type": "line"
-                },
                 "encoding": {
                     "x": {
                         "field": "date",
@@ -40,16 +28,20 @@
                         "title": "price",
                         "type": "quantitative"
                     }
+                },
+                "mark": {
+                    "stroke": "white",
+                    "strokeWidth": 4,
+                    "type": "line"
                 }
             },
             {
-                "mark": "line",
                 "encoding": {
                     "stroke": {
-                        "type": "nominal",
                         "datum": {
                             "repeat": "layer"
-                        }
+                        },
+                        "type": "nominal"
                     },
                     "x": {
                         "field": "date",
@@ -62,10 +54,18 @@
                         "title": "price",
                         "type": "quantitative"
                     }
-                }
+                },
+                "mark": "line"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Multi-series Line Chart with Halo. Use pivot and repeat-layer as a workaround to facet groups of lines and their halo strokes. See https://github.com/vega/vega-lite/issues/6192 for more discussion."
+    "transform": [
+        {
+            "groupby": [
+                "date"
+            ],
+            "pivot": "symbol",
+            "value": "price"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/multi/multi1.vl b/tests/specs/gallery/multi/multi1.vl
--- a/tests/specs/gallery/multi/multi1.vl
+++ b/tests/specs/gallery/multi/multi1.vl
@@ -1,34 +1,52 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/sp500.csv"
     },
+    "description": "Overview and detail.",
     "vconcat": [
         {
-            "mark": "area",
-            "width": 500,
             "encoding": {
                 "x": {
+                    "axis": {
+                        "title": null
+                    },
                     "field": "date",
                     "scale": {
                         "domain": {
                             "selection": "myBrush"
                         }
                     },
-                    "type": "temporal",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "temporal"
                 },
                 "y": {
                     "field": "price",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "area",
+            "width": 500
         },
         {
+            "encoding": {
+                "x": {
+                    "axis": {
+                        "format": "%Y"
+                    },
+                    "field": "date",
+                    "type": "temporal"
+                },
+                "y": {
+                    "axis": {
+                        "grid": false,
+                        "tickCount": 3
+                    },
+                    "field": "price",
+                    "type": "quantitative"
+                }
+            },
             "height": 60,
             "mark": "area",
-            "width": 480,
             "selection": {
                 "myBrush": {
                     "encodings": [
@@ -37,25 +55,7 @@
                     "type": "interval"
                 }
             },
-            "encoding": {
-                "x": {
-                    "field": "date",
-                    "type": "temporal",
-                    "axis": {
-                        "format": "%Y"
-                    }
-                },
-                "y": {
-                    "field": "price",
-                    "type": "quantitative",
-                    "axis": {
-                        "tickCount": 3,
-                        "grid": false
-                    }
-                }
-            }
+            "width": 480
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Overview and detail."
+    ]
 }
diff --git a/tests/specs/gallery/multi/multi2.vl b/tests/specs/gallery/multi/multi2.vl
--- a/tests/specs/gallery/multi/multi2.vl
+++ b/tests/specs/gallery/multi/multi2.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "repeat": {
         "column": [
             "distance",
@@ -7,18 +8,28 @@
         ]
     },
     "spec": {
-        "transform": [
-            {
-                "as": "time",
-                "calculate": "hours(datum.date)"
-            }
-        ],
         "data": {
-            "url": "https://vega.github.io/vega-lite/data/flights-2k.json",
             "format": {
                 "parse": {
                     "date": "date"
                 }
+            },
+            "url": "https://vega.github.io/vega-lite/data/flights-2k.json"
+        },
+        "description": "Cross-filter.",
+        "encoding": {
+            "x": {
+                "bin": {
+                    "maxbins": 20
+                },
+                "field": {
+                    "repeat": "column"
+                },
+                "type": "quantitative"
+            },
+            "y": {
+                "aggregate": "count",
+                "type": "quantitative"
             }
         },
         "layer": [
@@ -34,37 +45,26 @@
                 }
             },
             {
+                "encoding": {
+                    "color": {
+                        "value": "goldenrod"
+                    }
+                },
+                "mark": "bar",
                 "transform": [
                     {
                         "filter": {
                             "selection": "myBrush"
                         }
                     }
-                ],
-                "mark": "bar",
-                "encoding": {
-                    "color": {
-                        "value": "goldenrod"
-                    }
-                }
+                ]
             }
         ],
-        "encoding": {
-            "x": {
-                "field": {
-                    "repeat": "column"
-                },
-                "bin": {
-                    "maxbins": 20
-                },
-                "type": "quantitative"
-            },
-            "y": {
-                "aggregate": "count",
-                "type": "quantitative"
+        "transform": [
+            {
+                "as": "time",
+                "calculate": "hours(datum.date)"
             }
-        },
-        "description": "Cross-filter."
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+        ]
+    }
 }
diff --git a/tests/specs/gallery/multi/multi3.vl b/tests/specs/gallery/multi/multi3.vl
--- a/tests/specs/gallery/multi/multi3.vl
+++ b/tests/specs/gallery/multi/multi3.vl
@@ -1,45 +1,30 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Scatterplot matrix",
     "repeat": {
-        "row": [
-            "Horsepower",
-            "Acceleration",
-            "Miles_per_Gallon"
-        ],
         "column": [
             "Miles_per_Gallon",
             "Acceleration",
             "Horsepower"
+        ],
+        "row": [
+            "Horsepower",
+            "Acceleration",
+            "Miles_per_Gallon"
         ]
     },
     "spec": {
-        "mark": "point",
         "data": {
             "url": "https://vega.github.io/vega-lite/data/cars.json"
         },
-        "selection": {
-            "myBrush": {
-                "resolve": "union",
-                "zoom": "wheel![event.shiftKey]",
-                "type": "interval",
-                "translate": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
-                "on": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!"
-            },
-            "grid": {
-                "bind": "scales",
-                "resolve": "global",
-                "zoom": "wheel![event.shiftKey]",
-                "type": "interval",
-                "translate": "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!"
-            }
-        },
         "encoding": {
             "color": {
-                "value": "grey",
                 "condition": {
                     "field": "Origin",
                     "selection": "myBrush",
                     "type": "nominal"
-                }
+                },
+                "value": "grey"
             },
             "x": {
                 "field": {
@@ -53,8 +38,23 @@
                 },
                 "type": "quantitative"
             }
+        },
+        "mark": "point",
+        "selection": {
+            "grid": {
+                "bind": "scales",
+                "resolve": "global",
+                "translate": "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+                "type": "interval",
+                "zoom": "wheel![event.shiftKey]"
+            },
+            "myBrush": {
+                "on": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
+                "resolve": "union",
+                "translate": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
+                "type": "interval",
+                "zoom": "wheel![event.shiftKey]"
+            }
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Scatterplot matrix"
+    }
 }
diff --git a/tests/specs/gallery/multi/multi4.vl b/tests/specs/gallery/multi/multi4.vl
--- a/tests/specs/gallery/multi/multi4.vl
+++ b/tests/specs/gallery/multi/multi4.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "range": {
             "heatmap": {
@@ -9,6 +10,7 @@
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
+    "description": "A dashboard with cross-highlighting",
     "resolve": {
         "legend": {
             "color": "independent",
@@ -17,65 +19,84 @@
     },
     "vconcat": [
         {
+            "encoding": {
+                "x": {
+                    "bin": {
+                        "maxbins": 10
+                    },
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
+                },
+                "y": {
+                    "bin": {
+                        "maxbins": 10
+                    },
+                    "field": "Rotten_Tomatoes_Rating",
+                    "type": "quantitative"
+                }
+            },
             "layer": [
                 {
-                    "mark": "rect",
                     "encoding": {
                         "color": {
                             "aggregate": "count",
-                            "type": "quantitative",
                             "legend": {
                                 "direction": "horizontal",
                                 "gradientLength": 120,
                                 "title": "All Movies"
-                            }
+                            },
+                            "type": "quantitative"
                         }
-                    }
+                    },
+                    "mark": "rect"
                 },
                 {
-                    "transform": [
-                        {
-                            "filter": {
-                                "selection": "myPts"
-                            }
-                        }
-                    ],
-                    "mark": "point",
                     "encoding": {
                         "color": {
                             "value": "#666"
                         },
                         "size": {
                             "aggregate": "count",
-                            "type": "quantitative",
                             "legend": {
                                 "title": "In Selected Category"
+                            },
+                            "type": "quantitative"
+                        }
+                    },
+                    "mark": "point",
+                    "transform": [
+                        {
+                            "filter": {
+                                "selection": "myPts"
                             }
                         }
-                    }
+                    ]
                 }
-            ],
+            ]
+        },
+        {
             "encoding": {
+                "color": {
+                    "condition": {
+                        "selection": "myPts",
+                        "value": "steelblue"
+                    },
+                    "value": "grey"
+                },
                 "x": {
-                    "field": "IMDB_Rating",
-                    "bin": {
-                        "maxbins": 10
+                    "axis": {
+                        "labelAngle": -40
                     },
-                    "type": "quantitative"
+                    "field": "Major_Genre",
+                    "type": "nominal"
                 },
                 "y": {
-                    "field": "Rotten_Tomatoes_Rating",
-                    "bin": {
-                        "maxbins": 10
-                    },
+                    "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
             "height": 120,
             "mark": "bar",
-            "width": 330,
             "selection": {
                 "myPts": {
                     "encodings": [
@@ -84,28 +105,7 @@
                     "type": "single"
                 }
             },
-            "encoding": {
-                "color": {
-                    "value": "grey",
-                    "condition": {
-                        "value": "steelblue",
-                        "selection": "myPts"
-                    }
-                },
-                "x": {
-                    "field": "Major_Genre",
-                    "type": "nominal",
-                    "axis": {
-                        "labelAngle": -40
-                    }
-                },
-                "y": {
-                    "aggregate": "count",
-                    "type": "quantitative"
-                }
-            }
+            "width": 330
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "A dashboard with cross-highlighting"
+    ]
 }
diff --git a/tests/specs/gallery/multi/multi5.vl b/tests/specs/gallery/multi/multi5.vl
--- a/tests/specs/gallery/multi/multi5.vl
+++ b/tests/specs/gallery/multi/multi5.vl
@@ -1,30 +1,14 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
+    "description": "A dashboard with cross-highlighting",
+    "title": "Seattle Weather, 2012-2015",
     "vconcat": [
         {
-            "transform": [
-                {
-                    "filter": {
-                        "selection": "myClick"
-                    }
-                }
-            ],
-            "height": 300,
-            "mark": "point",
-            "width": 600,
-            "selection": {
-                "myBrush": {
-                    "encodings": [
-                        "x"
-                    ],
-                    "type": "interval"
-                }
-            },
             "encoding": {
                 "color": {
-                    "value": "#cfdebe",
                     "condition": {
                         "field": "weather",
                         "scale": {
@@ -46,7 +30,8 @@
                         "selection": "myBrush",
                         "title": "Weather",
                         "type": "nominal"
-                    }
+                    },
+                    "value": "#cfdebe"
                 },
                 "size": {
                     "field": "precipitation",
@@ -59,15 +44,18 @@
                     "type": "quantitative"
                 },
                 "x": {
-                    "field": "date",
-                    "timeUnit": "monthdate",
-                    "type": "temporal",
                     "axis": {
                         "format": "%b",
                         "title": "Date"
-                    }
+                    },
+                    "field": "date",
+                    "timeUnit": "monthdate",
+                    "type": "temporal"
                 },
                 "y": {
+                    "axis": {
+                        "title": "Maximum Daily Temperature (C)"
+                    },
                     "field": "temp_max",
                     "scale": {
                         "domain": [
@@ -75,34 +63,31 @@
                             40
                         ]
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "title": "Maximum Daily Temperature (C)"
-                    }
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
+            "height": 300,
+            "mark": "point",
+            "selection": {
+                "myBrush": {
+                    "encodings": [
+                        "x"
+                    ],
+                    "type": "interval"
+                }
+            },
             "transform": [
                 {
                     "filter": {
-                        "selection": "myBrush"
+                        "selection": "myClick"
                     }
                 }
             ],
-            "mark": "bar",
-            "width": 600,
-            "selection": {
-                "myClick": {
-                    "encodings": [
-                        "color"
-                    ],
-                    "type": "multi"
-                }
-            },
+            "width": 600
+        },
+        {
             "encoding": {
                 "color": {
-                    "value": "#acbf98",
                     "condition": {
                         "field": "weather",
                         "scale": {
@@ -123,7 +108,8 @@
                         },
                         "selection": "myClick",
                         "type": "nominal"
-                    }
+                    },
+                    "value": "#acbf98"
                 },
                 "x": {
                     "aggregate": "count",
@@ -133,10 +119,24 @@
                     "field": "weather",
                     "type": "nominal"
                 }
-            }
+            },
+            "mark": "bar",
+            "selection": {
+                "myClick": {
+                    "encodings": [
+                        "color"
+                    ],
+                    "type": "multi"
+                }
+            },
+            "transform": [
+                {
+                    "filter": {
+                        "selection": "myBrush"
+                    }
+                }
+            ],
+            "width": 600
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Seattle Weather, 2012-2015",
-    "description": "A dashboard with cross-highlighting"
+    ]
 }
diff --git a/tests/specs/gallery/multi/multi6.vl b/tests/specs/gallery/multi/multi6.vl
--- a/tests/specs/gallery/multi/multi6.vl
+++ b/tests/specs/gallery/multi/multi6.vl
@@ -1,30 +1,24 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "row_number",
-                    "as": "rowNumber"
-                }
-            ]
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "view": {
+            "stroke": null
         }
-    ],
+    },
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
+    "description": "Drag a rectangular brush to show (first 20) selected points in a table.",
     "hconcat": [
         {
-            "mark": "point",
-            "selection": {
-                "brush": {
-                    "type": "interval"
-                }
-            },
             "encoding": {
                 "color": {
-                    "value": "grey",
                     "condition": {
                         "field": "Cylinders",
                         "selection": "brush",
                         "type": "ordinal"
-                    }
+                    },
+                    "value": "grey"
                 },
                 "x": {
                     "field": "Horsepower",
@@ -34,9 +28,28 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
+            },
+            "mark": "point",
+            "selection": {
+                "brush": {
+                    "type": "interval"
+                }
             }
         },
         {
+            "encoding": {
+                "text": {
+                    "field": "Horsepower",
+                    "type": "nominal"
+                },
+                "y": {
+                    "axis": null,
+                    "field": "rowNumber",
+                    "type": "ordinal"
+                }
+            },
+            "mark": "text",
+            "title": "Engine power",
             "transform": [
                 {
                     "filter": {
@@ -46,8 +59,8 @@
                 {
                     "window": [
                         {
-                            "op": "rank",
-                            "as": "rank"
+                            "as": "rank",
+                            "op": "rank"
                         }
                     ]
                 },
@@ -57,22 +70,22 @@
                         "lt": 20
                     }
                 }
-            ],
-            "mark": "text",
-            "title": "Engine power",
+            ]
+        },
+        {
             "encoding": {
                 "text": {
-                    "field": "Horsepower",
+                    "field": "Miles_per_Gallon",
                     "type": "nominal"
                 },
                 "y": {
+                    "axis": null,
                     "field": "rowNumber",
-                    "type": "ordinal",
-                    "axis": null
+                    "type": "ordinal"
                 }
-            }
-        },
-        {
+            },
+            "mark": "text",
+            "title": "Efficiency (mpg)",
             "transform": [
                 {
                     "filter": {
@@ -82,8 +95,8 @@
                 {
                     "window": [
                         {
-                            "op": "rank",
-                            "as": "rank"
+                            "as": "rank",
+                            "op": "rank"
                         }
                     ]
                 },
@@ -93,22 +106,22 @@
                         "lt": 20
                     }
                 }
-            ],
-            "mark": "text",
-            "title": "Efficiency (mpg)",
+            ]
+        },
+        {
             "encoding": {
                 "text": {
-                    "field": "Miles_per_Gallon",
+                    "field": "Origin",
                     "type": "nominal"
                 },
                 "y": {
+                    "axis": null,
                     "field": "rowNumber",
-                    "type": "ordinal",
-                    "axis": null
+                    "type": "ordinal"
                 }
-            }
-        },
-        {
+            },
+            "mark": "text",
+            "title": "Country of origin",
             "transform": [
                 {
                     "filter": {
@@ -118,8 +131,8 @@
                 {
                     "window": [
                         {
-                            "op": "rank",
-                            "as": "rank"
+                            "as": "rank",
+                            "op": "rank"
                         }
                     ]
                 },
@@ -129,35 +142,22 @@
                         "lt": 20
                     }
                 }
-            ],
-            "mark": "text",
-            "title": "Country of origin",
-            "encoding": {
-                "text": {
-                    "field": "Origin",
-                    "type": "nominal"
-                },
-                "y": {
-                    "field": "rowNumber",
-                    "type": "ordinal",
-                    "axis": null
-                }
-            }
+            ]
         }
     ],
-    "config": {
-        "view": {
-            "stroke": null
-        }
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
     "resolve": {
         "legend": {
             "color": "independent"
         }
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Drag a rectangular brush to show (first 20) selected points in a table."
+    "transform": [
+        {
+            "window": [
+                {
+                    "as": "rowNumber",
+                    "op": "row_number"
+                }
+            ]
+        }
+    ]
 }
diff --git a/tests/specs/gallery/multi/multi7.vl b/tests/specs/gallery/multi/multi7.vl
--- a/tests/specs/gallery/multi/multi7.vl
+++ b/tests/specs/gallery/multi/multi7.vl
@@ -1,31 +1,52 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 900,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "One dot per airport in the US overlayed on geoshape",
+    "height": 500,
     "layer": [
         {
-            "mark": {
-                "stroke": "#fff",
-                "fill": "#ddd",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/us-10m.json",
                 "format": {
                     "feature": "states",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/us-10m.json"
+            },
+            "mark": {
+                "fill": "#ddd",
+                "stroke": "#fff",
+                "type": "geoshape"
             }
         },
         {
+            "data": {
+                "url": "https://vega.github.io/vega-lite/data/flights-airport.csv"
+            },
+            "encoding": {
+                "latitude": {
+                    "field": "o.latitude",
+                    "type": "quantitative"
+                },
+                "latitude2": {
+                    "field": "d.latitude"
+                },
+                "longitude": {
+                    "field": "o.longitude",
+                    "type": "quantitative"
+                },
+                "longitude2": {
+                    "field": "d.longitude"
+                }
+            },
+            "mark": {
+                "color": "black",
+                "opacity": 0.35,
+                "type": "rule"
+            },
             "transform": [
                 {
                     "filter": {
@@ -52,43 +73,64 @@
                     },
                     "lookup": "destination"
                 }
-            ],
-            "mark": {
-                "color": "black",
-                "opacity": 0.35,
-                "type": "rule"
-            },
+            ]
+        },
+        {
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/flights-airport.csv"
             },
             "encoding": {
                 "latitude": {
-                    "field": "o.latitude",
+                    "field": "latitude",
                     "type": "quantitative"
                 },
-                "latitude2": {
-                    "field": "d.latitude"
-                },
                 "longitude": {
-                    "field": "o.longitude",
+                    "field": "longitude",
                     "type": "quantitative"
                 },
-                "longitude2": {
-                    "field": "d.longitude"
+                "order": {
+                    "field": "routes",
+                    "sort": "descending",
+                    "type": "quantitative"
+                },
+                "size": {
+                    "field": "routes",
+                    "legend": null,
+                    "scale": {
+                        "range": [
+                            0,
+                            1000
+                        ]
+                    },
+                    "type": "quantitative"
+                },
+                "tooltip": {
+                    "field": "name",
+                    "type": "nominal"
                 }
-            }
-        },
-        {
-            "transform": [
-                {
-                    "groupby": [
+            },
+            "mark": "circle",
+            "selection": {
+                "mySelection": {
+                    "empty": "none",
+                    "fields": [
                         "origin"
                     ],
+                    "nearest": true,
+                    "on": "mouseover",
+                    "type": "single"
+                }
+            },
+            "transform": [
+                {
                     "aggregate": [
                         {
-                            "op": "count",
-                            "as": "routes"
+                            "as": "routes",
+                            "op": "count"
                         }
+                    ],
+                    "groupby": [
+                        "origin"
                     ]
                 },
                 {
@@ -96,66 +138,24 @@
                         "data": {
                             "url": "https://vega.github.io/vega-lite/data/airports.csv"
                         },
-                        "key": "iata",
                         "fields": [
                             "name",
                             "state",
                             "latitude",
                             "longitude"
-                        ]
+                        ],
+                        "key": "iata"
                     },
                     "lookup": "origin"
                 },
                 {
                     "filter": "datum.state !== 'PR' && datum.state !== 'VI'"
                 }
-            ],
-            "mark": "circle",
-            "data": {
-                "url": "https://vega.github.io/vega-lite/data/flights-airport.csv"
-            },
-            "selection": {
-                "mySelection": {
-                    "nearest": true,
-                    "empty": "none",
-                    "type": "single",
-                    "on": "mouseover",
-                    "fields": [
-                        "origin"
-                    ]
-                }
-            },
-            "encoding": {
-                "size": {
-                    "field": "routes",
-                    "scale": {
-                        "range": [
-                            0,
-                            1000
-                        ]
-                    },
-                    "type": "quantitative",
-                    "legend": null
-                },
-                "latitude": {
-                    "field": "latitude",
-                    "type": "quantitative"
-                },
-                "tooltip": {
-                    "field": "name",
-                    "type": "nominal"
-                },
-                "longitude": {
-                    "field": "longitude",
-                    "type": "quantitative"
-                },
-                "order": {
-                    "field": "routes",
-                    "sort": "descending",
-                    "type": "quantitative"
-                }
-            }
+            ]
         }
     ],
-    "description": "One dot per airport in the US overlayed on geoshape"
+    "projection": {
+        "type": "albersUsa"
+    },
+    "width": 900
 }
diff --git a/tests/specs/gallery/multi/multi8.vl b/tests/specs/gallery/multi/multi8.vl
--- a/tests/specs/gallery/multi/multi8.vl
+++ b/tests/specs/gallery/multi/multi8.vl
@@ -1,72 +1,72 @@
 {
-    "transform": [
-        {
-            "as": "time",
-            "calculate": "hours(datum.date) + minutes(datum.date) / 60"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/flights-5k.json",
         "format": {
             "parse": {
                 "date": "date"
             }
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/flights-5k.json"
     },
+    "transform": [
+        {
+            "as": "time",
+            "calculate": "hours(datum.date) + minutes(datum.date) / 60"
+        }
+    ],
     "vconcat": [
         {
+            "encoding": {
+                "x": {
+                    "bin": {
+                        "maxbins": 30
+                    },
+                    "field": "time",
+                    "type": "quantitative"
+                },
+                "y": {
+                    "aggregate": "count",
+                    "type": "quantitative"
+                }
+            },
             "height": 100,
             "mark": "bar",
-            "width": 963,
             "selection": {
                 "brush": {
+                    "encodings": [
+                        "x"
+                    ],
                     "init": {
                         "x": [
                             6,
                             12
                         ]
                     },
-                    "encodings": [
-                        "x"
-                    ],
                     "type": "interval"
                 }
             },
-            "encoding": {
-                "x": {
-                    "field": "time",
-                    "bin": {
-                        "maxbins": 30
-                    },
-                    "type": "quantitative"
-                },
-                "y": {
-                    "aggregate": "count",
-                    "type": "quantitative"
-                }
-            }
+            "width": 963
         },
         {
-            "height": 100,
-            "mark": "bar",
-            "width": 963,
             "encoding": {
                 "x": {
-                    "field": "time",
                     "bin": {
-                        "maxbins": 30,
                         "extent": {
                             "selection": "brush"
-                        }
+                        },
+                        "maxbins": 30
                     },
+                    "field": "time",
                     "type": "quantitative"
                 },
                 "y": {
                     "aggregate": "count",
                     "type": "quantitative"
                 }
-            }
+            },
+            "height": 100,
+            "mark": "bar",
+            "width": 963
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/gallery/multi/selectandzoom.vl b/tests/specs/gallery/multi/selectandzoom.vl
--- a/tests/specs/gallery/multi/selectandzoom.vl
+++ b/tests/specs/gallery/multi/selectandzoom.vl
@@ -1,10 +1,5 @@
 {
-    "transform": [
-        {
-            "as": "y",
-            "calculate": "cos(datum.theta)"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "sequence": {
             "as": "theta",
@@ -13,11 +8,33 @@
             "stop": 6.28
         }
     },
+    "transform": [
+        {
+            "as": "y",
+            "calculate": "cos(datum.theta)"
+        }
+    ],
     "vconcat": [
         {
+            "encoding": {
+                "x": {
+                    "axis": null,
+                    "field": "theta",
+                    "type": "quantitative"
+                },
+                "y": {
+                    "axis": null,
+                    "field": "y",
+                    "type": "quantitative"
+                }
+            },
             "mark": "line",
             "selection": {
                 "brush": {
+                    "encodings": [
+                        "x",
+                        "y"
+                    ],
                     "init": {
                         "x": [
                             0.2,
@@ -28,28 +45,11 @@
                             0.8
                         ]
                     },
-                    "encodings": [
-                        "x",
-                        "y"
-                    ],
                     "type": "interval"
                 }
-            },
-            "encoding": {
-                "x": {
-                    "field": "theta",
-                    "type": "quantitative",
-                    "axis": null
-                },
-                "y": {
-                    "field": "y",
-                    "type": "quantitative",
-                    "axis": null
-                }
             }
         },
         {
-            "mark": "circle",
             "encoding": {
                 "x": {
                     "field": "theta",
@@ -65,14 +65,14 @@
                     "field": "y",
                     "scale": {
                         "domain": {
-                            "selection": "brush",
-                            "encoding": "y"
+                            "encoding": "y",
+                            "selection": "brush"
                         }
                     },
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "circle"
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/gallery/repeat/nested_concat_align.vl b/tests/specs/gallery/repeat/nested_concat_align.vl
--- a/tests/specs/gallery/repeat/nested_concat_align.vl
+++ b/tests/specs/gallery/repeat/nested_concat_align.vl
@@ -1,16 +1,18 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "countTitle": "Count",
+        "axisX": {
+            "titleLimit": 150
+        },
         "axisY": {
             "minExtent": 40
         },
-        "axisX": {
-            "titleLimit": 150
-        }
+        "countTitle": "Count"
     },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
+    "description": "Nested concatenation aligned by setting axis minExtent",
     "vconcat": [
         {
             "repeat": {
@@ -20,24 +22,24 @@
                 ]
             },
             "spec": {
-                "height": 50,
-                "mark": "bar",
-                "width": 150,
                 "encoding": {
                     "x": {
-                        "field": {
-                            "repeat": "column"
-                        },
                         "bin": {
                             "maxbins": 20
                         },
+                        "field": {
+                            "repeat": "column"
+                        },
                         "type": "quantitative"
                     },
                     "y": {
                         "aggregate": "count",
                         "type": "quantitative"
                     }
-                }
+                },
+                "height": 50,
+                "mark": "bar",
+                "width": 150
             },
             "title": "Ratings"
         },
@@ -49,28 +51,26 @@
                 ]
             },
             "spec": {
-                "height": 50,
-                "mark": "bar",
-                "width": 150,
                 "encoding": {
                     "x": {
-                        "field": {
-                            "repeat": "column"
-                        },
                         "bin": {
                             "maxbins": 20
                         },
+                        "field": {
+                            "repeat": "column"
+                        },
                         "type": "quantitative"
                     },
                     "y": {
                         "aggregate": "count",
                         "type": "quantitative"
                     }
-                }
+                },
+                "height": 50,
+                "mark": "bar",
+                "width": 150
             },
             "title": "Gross"
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Nested concatenation aligned by setting axis minExtent"
+    ]
 }
diff --git a/tests/specs/gallery/repeat/repeat1.vl b/tests/specs/gallery/repeat/repeat1.vl
--- a/tests/specs/gallery/repeat/repeat1.vl
+++ b/tests/specs/gallery/repeat/repeat1.vl
@@ -1,7 +1,9 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/weather.csv"
     },
+    "description": "Monthly weather information for individual years and overall average for Seatle and New York",
     "repeat": {
         "column": [
             "temp_max",
@@ -12,12 +14,16 @@
     "spec": {
         "layer": [
             {
-                "mark": "line",
                 "encoding": {
                     "color": {
                         "field": "location",
                         "type": "nominal"
                     },
+                    "detail": {
+                        "field": "date",
+                        "timeUnit": "year",
+                        "type": "temporal"
+                    },
                     "opacity": {
                         "value": 0.2
                     },
@@ -26,22 +32,17 @@
                         "timeUnit": "month",
                         "type": "ordinal"
                     },
-                    "detail": {
-                        "field": "date",
-                        "timeUnit": "year",
-                        "type": "temporal"
-                    },
                     "y": {
+                        "aggregate": "mean",
                         "field": {
                             "repeat": "column"
                         },
-                        "aggregate": "mean",
                         "type": "quantitative"
                     }
-                }
+                },
+                "mark": "line"
             },
             {
-                "mark": "line",
                 "encoding": {
                     "color": {
                         "field": "location",
@@ -53,16 +54,15 @@
                         "type": "ordinal"
                     },
                     "y": {
+                        "aggregate": "mean",
                         "field": {
                             "repeat": "column"
                         },
-                        "aggregate": "mean",
                         "type": "quantitative"
                     }
-                }
+                },
+                "mark": "line"
             }
         ]
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Monthly weather information for individual years and overall average for Seatle and New York"
+    }
 }
diff --git a/tests/specs/gallery/repeat/repeat2.vl b/tests/specs/gallery/repeat/repeat2.vl
--- a/tests/specs/gallery/repeat/repeat2.vl
+++ b/tests/specs/gallery/repeat/repeat2.vl
@@ -1,15 +1,16 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/weather.csv"
+    },
+    "description": "Two vertically concatenated charts that show a histogram of precipitation in Seattle and the relationship between min and max temperature",
     "transform": [
         {
             "filter": "datum.location === 'Seattle'"
         }
     ],
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/weather.csv"
-    },
     "vconcat": [
         {
-            "mark": "bar",
             "encoding": {
                 "x": {
                     "field": "date",
@@ -17,32 +18,31 @@
                     "type": "ordinal"
                 },
                 "y": {
-                    "field": "precipitation",
                     "aggregate": "mean",
+                    "field": "precipitation",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": "point",
             "encoding": {
                 "size": {
                     "aggregate": "count",
                     "type": "quantitative"
                 },
                 "x": {
-                    "field": "temp_min",
                     "bin": true,
+                    "field": "temp_min",
                     "type": "quantitative"
                 },
                 "y": {
-                    "field": "temp_max",
                     "bin": true,
+                    "field": "temp_max",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "point"
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Two vertically concatenated charts that show a histogram of precipitation in Seattle and the relationship between min and max temperature"
+    ]
 }
diff --git a/tests/specs/gallery/repeat/repeat3.vl b/tests/specs/gallery/repeat/repeat3.vl
--- a/tests/specs/gallery/repeat/repeat3.vl
+++ b/tests/specs/gallery/repeat/repeat3.vl
@@ -1,4 +1,6 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Horizontally repeated charts that show the histograms of different parameters of cars in different countries",
     "repeat": {
         "column": [
             "Horsepower",
@@ -7,7 +9,6 @@
         ]
     },
     "spec": {
-        "mark": "bar",
         "data": {
             "url": "https://vega.github.io/vega-lite/data/cars.json"
         },
@@ -17,18 +18,17 @@
                 "type": "nominal"
             },
             "x": {
+                "bin": true,
                 "field": {
                     "repeat": "column"
                 },
-                "bin": true,
                 "type": "quantitative"
             },
             "y": {
                 "aggregate": "count",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Horizontally repeated charts that show the histograms of different parameters of cars in different countries"
+        },
+        "mark": "bar"
+    }
 }
diff --git a/tests/specs/gallery/repeat/repeat4.vl b/tests/specs/gallery/repeat/repeat4.vl
--- a/tests/specs/gallery/repeat/repeat4.vl
+++ b/tests/specs/gallery/repeat/repeat4.vl
@@ -1,45 +1,30 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Scatterplot matrix",
     "repeat": {
-        "row": [
-            "Horsepower",
-            "Acceleration",
-            "Miles_per_Gallon"
-        ],
         "column": [
             "Miles_per_Gallon",
             "Acceleration",
             "Horsepower"
+        ],
+        "row": [
+            "Horsepower",
+            "Acceleration",
+            "Miles_per_Gallon"
         ]
     },
     "spec": {
-        "mark": "point",
         "data": {
             "url": "https://vega.github.io/vega-lite/data/cars.json"
         },
-        "selection": {
-            "myBrush": {
-                "resolve": "union",
-                "zoom": "wheel![event.shiftKey]",
-                "type": "interval",
-                "translate": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
-                "on": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!"
-            },
-            "grid": {
-                "bind": "scales",
-                "resolve": "global",
-                "zoom": "wheel![event.shiftKey]",
-                "type": "interval",
-                "translate": "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!"
-            }
-        },
         "encoding": {
             "color": {
-                "value": "grey",
                 "condition": {
                     "field": "Origin",
                     "selection": "myBrush",
                     "type": "nominal"
-                }
+                },
+                "value": "grey"
             },
             "x": {
                 "field": {
@@ -53,8 +38,23 @@
                 },
                 "type": "quantitative"
             }
+        },
+        "mark": "point",
+        "selection": {
+            "grid": {
+                "bind": "scales",
+                "resolve": "global",
+                "translate": "[mousedown[!event.shiftKey], window:mouseup] > window:mousemove!",
+                "type": "interval",
+                "zoom": "wheel![event.shiftKey]"
+            },
+            "myBrush": {
+                "on": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
+                "resolve": "union",
+                "translate": "[mousedown[event.shiftKey], window:mouseup] > window:mousemove!",
+                "type": "interval",
+                "zoom": "wheel![event.shiftKey]"
+            }
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Scatterplot matrix"
+    }
 }
diff --git a/tests/specs/gallery/repeat/repeat5.vl b/tests/specs/gallery/repeat/repeat5.vl
--- a/tests/specs/gallery/repeat/repeat5.vl
+++ b/tests/specs/gallery/repeat/repeat5.vl
@@ -1,4 +1,6 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "bounds": "flush",
     "config": {
         "range": {
             "heatmap": {
@@ -12,85 +14,83 @@
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
+    "description": "Marginal histograms show the counts along the x and y dimension",
+    "spacing": 15,
     "vconcat": [
         {
-            "height": 60,
-            "mark": "bar",
             "encoding": {
                 "x": {
-                    "field": "IMDB_Rating",
+                    "axis": null,
                     "bin": true,
-                    "type": "quantitative",
-                    "axis": null
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
                 },
                 "y": {
+                    "aggregate": "count",
+                    "axis": {
+                        "title": null
+                    },
                     "scale": {
                         "domain": [
                             0,
                             1000
                         ]
                     },
-                    "aggregate": "count",
-                    "type": "quantitative",
-                    "axis": {
-                        "title": null
-                    }
+                    "type": "quantitative"
                 }
-            }
+            },
+            "height": 60,
+            "mark": "bar"
         },
         {
+            "bounds": "flush",
             "hconcat": [
                 {
-                    "mark": "rect",
                     "encoding": {
                         "color": {
                             "aggregate": "count",
                             "type": "quantitative"
                         },
                         "x": {
-                            "field": "IMDB_Rating",
                             "bin": true,
+                            "field": "IMDB_Rating",
                             "type": "quantitative"
                         },
                         "y": {
-                            "field": "Rotten_Tomatoes_Rating",
                             "bin": true,
+                            "field": "Rotten_Tomatoes_Rating",
                             "type": "quantitative"
                         }
-                    }
+                    },
+                    "mark": "rect"
                 },
                 {
-                    "mark": "bar",
-                    "width": 60,
                     "encoding": {
                         "x": {
+                            "aggregate": "count",
+                            "axis": {
+                                "title": null
+                            },
                             "scale": {
                                 "domain": [
                                     0,
                                     1000
                                 ]
                             },
-                            "aggregate": "count",
-                            "type": "quantitative",
-                            "axis": {
-                                "title": null
-                            }
+                            "type": "quantitative"
                         },
                         "y": {
-                            "field": "Rotten_Tomatoes_Rating",
+                            "axis": null,
                             "bin": true,
-                            "type": "quantitative",
-                            "axis": null
+                            "field": "Rotten_Tomatoes_Rating",
+                            "type": "quantitative"
                         }
-                    }
+                    },
+                    "mark": "bar",
+                    "width": 60
                 }
             ],
-            "spacing": 15,
-            "bounds": "flush"
+            "spacing": 15
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "description": "Marginal histograms show the counts along the x and y dimension",
-    "spacing": 15,
-    "bounds": "flush"
+    ]
 }
diff --git a/tests/specs/gallery/scatter/scatter1.vl b/tests/specs/gallery/scatter/scatter1.vl
--- a/tests/specs/gallery/scatter/scatter1.vl
+++ b/tests/specs/gallery/scatter/scatter1.vl
@@ -1,14 +1,9 @@
 {
-    "mark": {
-        "tooltip": {
-            "content": "data"
-        },
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A scatterplot showing horsepower and miles per gallon for various cars (via point marks).",
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -19,5 +14,10 @@
             "type": "quantitative"
         }
     },
-    "description": "A scatterplot showing horsepower and miles per gallon for various cars (via point marks)."
+    "mark": {
+        "tooltip": {
+            "content": "data"
+        },
+        "type": "point"
+    }
 }
diff --git a/tests/specs/gallery/scatter/scatter10.vl b/tests/specs/gallery/scatter/scatter10.vl
--- a/tests/specs/gallery/scatter/scatter10.vl
+++ b/tests/specs/gallery/scatter/scatter10.vl
@@ -1,54 +1,54 @@
 {
-    "transform": [
-        {
-            "filter": "datum.Entity !== 'All natural disasters'"
-        }
-    ],
-    "height": 400,
-    "mark": {
-        "strokeWidth": 1,
-        "opacity": 0.8,
-        "stroke": "black",
-        "type": "circle"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/disasters.csv"
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Visualization of global deaths from natural disasters. Copy of chart from https://ourworldindata.org/natural-catastrophes",
     "encoding": {
         "color": {
             "field": "Entity",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
         "size": {
             "field": "Deaths",
+            "legend": {
+                "title": "Annual Global Deaths"
+            },
             "scale": {
                 "range": [
                     0,
                     5000
                 ]
             },
-            "type": "quantitative",
-            "legend": {
-                "title": "Annual Global Deaths"
-            }
+            "type": "quantitative"
         },
         "x": {
-            "field": "Year",
-            "type": "ordinal",
             "axis": {
                 "labelAngle": 0
-            }
+            },
+            "field": "Year",
+            "type": "ordinal"
         },
         "y": {
-            "field": "Entity",
-            "type": "nominal",
             "axis": {
                 "title": null
-            }
+            },
+            "field": "Entity",
+            "type": "nominal"
         }
     },
-    "description": "Visualization of global deaths from natural disasters. Copy of chart from https://ourworldindata.org/natural-catastrophes"
+    "height": 400,
+    "mark": {
+        "opacity": 0.8,
+        "stroke": "black",
+        "strokeWidth": 1,
+        "type": "circle"
+    },
+    "transform": [
+        {
+            "filter": "datum.Entity !== 'All natural disasters'"
+        }
+    ],
+    "width": 600
 }
diff --git a/tests/specs/gallery/scatter/scatter11.vl b/tests/specs/gallery/scatter/scatter11.vl
--- a/tests/specs/gallery/scatter/scatter11.vl
+++ b/tests/specs/gallery/scatter/scatter11.vl
@@ -1,15 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "OriginInitial",
-            "calculate": "datum.Origin[0]"
-        }
-    ],
-    "mark": "text",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A scatterplot showing horsepower and miles per gallon with country of origin double encoded by colour and text symbol.",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -28,5 +22,11 @@
             "type": "quantitative"
         }
     },
-    "description": "A scatterplot showing horsepower and miles per gallon with country of origin double encoded by colour and text symbol."
+    "mark": "text",
+    "transform": [
+        {
+            "as": "OriginInitial",
+            "calculate": "datum.Origin[0]"
+        }
+    ]
 }
diff --git a/tests/specs/gallery/scatter/scatter2.vl b/tests/specs/gallery/scatter/scatter2.vl
--- a/tests/specs/gallery/scatter/scatter2.vl
+++ b/tests/specs/gallery/scatter/scatter2.vl
@@ -1,14 +1,14 @@
 {
-    "mark": "tick",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Shows the distribution of a single variable (precipitation) using tick marks.",
     "encoding": {
         "x": {
             "field": "precipitation",
             "type": "quantitative"
         }
     },
-    "description": "Shows the distribution of a single variable (precipitation) using tick marks."
+    "mark": "tick"
 }
diff --git a/tests/specs/gallery/scatter/scatter3.vl b/tests/specs/gallery/scatter/scatter3.vl
--- a/tests/specs/gallery/scatter/scatter3.vl
+++ b/tests/specs/gallery/scatter/scatter3.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "tick",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Shows the relationship between horsepower and the number of cylinders using tick marks.",
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -14,5 +14,5 @@
             "type": "ordinal"
         }
     },
-    "description": "Shows the relationship between horsepower and the number of cylinders using tick marks."
+    "mark": "tick"
 }
diff --git a/tests/specs/gallery/scatter/scatter4.vl b/tests/specs/gallery/scatter/scatter4.vl
--- a/tests/specs/gallery/scatter/scatter4.vl
+++ b/tests/specs/gallery/scatter/scatter4.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A scatterplot showing horsepower and miles per gallon with country of origin double encoded by colour and shape.",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -22,5 +22,5 @@
             "type": "quantitative"
         }
     },
-    "description": "A scatterplot showing horsepower and miles per gallon with country of origin double encoded by colour and shape."
+    "mark": "point"
 }
diff --git a/tests/specs/gallery/scatter/scatter5.vl b/tests/specs/gallery/scatter/scatter5.vl
--- a/tests/specs/gallery/scatter/scatter5.vl
+++ b/tests/specs/gallery/scatter/scatter5.vl
@@ -1,28 +1,28 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A binned scatterplot comparing IMDB and Rotten Tomatoes rating with marks sized by number of reviews.",
     "encoding": {
         "size": {
             "aggregate": "count",
             "type": "quantitative"
         },
         "x": {
-            "field": "IMDB_Rating",
             "bin": {
                 "maxbins": 10
             },
+            "field": "IMDB_Rating",
             "type": "quantitative"
         },
         "y": {
-            "field": "Rotten_Tomatoes_Rating",
             "bin": {
                 "maxbins": 10
             },
+            "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
     },
-    "description": "A binned scatterplot comparing IMDB and Rotten Tomatoes rating with marks sized by number of reviews."
+    "mark": "circle"
 }
diff --git a/tests/specs/gallery/scatter/scatter6.vl b/tests/specs/gallery/scatter/scatter6.vl
--- a/tests/specs/gallery/scatter/scatter6.vl
+++ b/tests/specs/gallery/scatter/scatter6.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A bubbleplot showing horsepower on x, miles per gallons on y, and acceleration on size.",
     "encoding": {
         "size": {
             "field": "Acceleration",
@@ -18,5 +18,5 @@
             "type": "quantitative"
         }
     },
-    "description": "A bubbleplot showing horsepower on x, miles per gallons on y, and acceleration on size."
+    "mark": "point"
 }
diff --git a/tests/specs/gallery/scatter/scatter7.vl b/tests/specs/gallery/scatter/scatter7.vl
--- a/tests/specs/gallery/scatter/scatter7.vl
+++ b/tests/specs/gallery/scatter/scatter7.vl
@@ -1,21 +1,21 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "mark": {
             "invalid": null
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Scatterplot with Null values in grey",
     "encoding": {
         "color": {
-            "value": "rgb(76,120,168)",
             "condition": {
-                "value": "#ddd",
-                "test": "datum.IMDB_Rating === null || datum.Rotten_Tomatoes_Rating === null"
-            }
+                "test": "datum.IMDB_Rating === null || datum.Rotten_Tomatoes_Rating === null",
+                "value": "#ddd"
+            },
+            "value": "rgb(76,120,168)"
         },
         "x": {
             "field": "IMDB_Rating",
@@ -26,5 +26,5 @@
             "type": "quantitative"
         }
     },
-    "description": "Scatterplot with Null values in grey"
+    "mark": "point"
 }
diff --git a/tests/specs/gallery/scatter/scatter8.vl b/tests/specs/gallery/scatter/scatter8.vl
--- a/tests/specs/gallery/scatter/scatter8.vl
+++ b/tests/specs/gallery/scatter/scatter8.vl
@@ -1,9 +1,9 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "A scatterplot showing horsepower and miles per gallon for various cars (via circle marks).",
     "encoding": {
         "x": {
             "field": "Horsepower",
@@ -14,5 +14,5 @@
             "type": "quantitative"
         }
     },
-    "description": "A scatterplot showing horsepower and miles per gallon for various cars (via circle marks)."
+    "mark": "circle"
 }
diff --git a/tests/specs/gallery/scatter/scatter9.vl b/tests/specs/gallery/scatter/scatter9.vl
--- a/tests/specs/gallery/scatter/scatter9.vl
+++ b/tests/specs/gallery/scatter/scatter9.vl
@@ -1,17 +1,9 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/gapminder-health-income.csv"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "view": {
-            "bind": "scales",
-            "type": "interval"
-        }
-    },
+    "description": "A bubble plot showing the correlation between health and income for 187 countries in the world (modified from an example in Lisa Charlotte Rost's blog post 'One Chart, Twelve Charting Libraries' --http://lisacharlotterost.github.io/2016/05/17/one-chart-code/).",
     "encoding": {
         "color": {
             "value": "#000"
@@ -35,5 +27,13 @@
             "type": "quantitative"
         }
     },
-    "description": "A bubble plot showing the correlation between health and income for 187 countries in the world (modified from an example in Lisa Charlotte Rost's blog post 'One Chart, Twelve Charting Libraries' --http://lisacharlotterost.github.io/2016/05/17/one-chart-code/)."
+    "height": 300,
+    "mark": "circle",
+    "selection": {
+        "view": {
+            "bind": "scales",
+            "type": "interval"
+        }
+    },
+    "width": 500
 }
diff --git a/tests/specs/gallery/scatter/smoothing1.vl b/tests/specs/gallery/scatter/smoothing1.vl
--- a/tests/specs/gallery/scatter/smoothing1.vl
+++ b/tests/specs/gallery/scatter/smoothing1.vl
@@ -1,32 +1,46 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "How can we 'smooth' data?",
+    "encoding": {
+        "x": {
+            "field": "Rotten_Tomatoes_Rating",
+            "type": "quantitative"
+        },
+        "y": {
+            "field": "IMDB_Rating",
+            "type": "quantitative"
+        }
+    },
+    "height": 300,
     "layer": [
         {
             "mark": {
+                "filled": true,
                 "opacity": 0.3,
-                "type": "point",
-                "filled": true
+                "type": "point"
             }
         },
         {
+            "mark": {
+                "color": "firebrick",
+                "type": "line"
+            },
             "transform": [
                 {
                     "bandwidth": 0.1,
                     "loess": "IMDB_Rating",
                     "on": "Rotten_Tomatoes_Rating"
                 }
-            ],
-            "mark": {
-                "color": "firebrick",
-                "type": "line"
-            }
+            ]
         },
         {
+            "mark": {
+                "color": "orange",
+                "type": "line"
+            },
             "transform": [
                 {
                     "extent": [
@@ -34,26 +48,12 @@
                         90
                     ],
                     "method": "poly",
-                    "regression": "IMDB_Rating",
+                    "on": "Rotten_Tomatoes_Rating",
                     "order": 3,
-                    "on": "Rotten_Tomatoes_Rating"
+                    "regression": "IMDB_Rating"
                 }
-            ],
-            "mark": {
-                "color": "orange",
-                "type": "line"
-            }
+            ]
         }
     ],
-    "encoding": {
-        "x": {
-            "field": "Rotten_Tomatoes_Rating",
-            "type": "quantitative"
-        },
-        "y": {
-            "field": "IMDB_Rating",
-            "type": "quantitative"
-        }
-    },
-    "description": "How can we 'smooth' data?"
+    "width": 300
 }
diff --git a/tests/specs/gallery/scatter/smoothing2.vl b/tests/specs/gallery/scatter/smoothing2.vl
--- a/tests/specs/gallery/scatter/smoothing2.vl
+++ b/tests/specs/gallery/scatter/smoothing2.vl
@@ -1,17 +1,12 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "How can we 'smooth' and rename data?",
+    "height": 300,
     "layer": [
         {
-            "mark": {
-                "opacity": 0.3,
-                "type": "point",
-                "filled": true
-            },
             "encoding": {
                 "x": {
                     "field": "Rotten_Tomatoes_Rating",
@@ -21,23 +16,14 @@
                     "field": "IMDB_Rating",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "filled": true,
+                "opacity": 0.3,
+                "type": "point"
             }
         },
         {
-            "transform": [
-                {
-                    "as": [
-                        "Rotten_Tomatoes_Rating",
-                        "ly"
-                    ],
-                    "loess": "IMDB_Rating",
-                    "on": "Rotten_Tomatoes_Rating"
-                }
-            ],
-            "mark": {
-                "color": "firebrick",
-                "type": "line"
-            },
             "encoding": {
                 "x": {
                     "field": "Rotten_Tomatoes_Rating",
@@ -47,23 +33,23 @@
                     "field": "ly",
                     "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
+            "mark": {
+                "color": "firebrick",
+                "type": "line"
+            },
             "transform": [
                 {
                     "as": [
                         "Rotten_Tomatoes_Rating",
-                        "ry"
+                        "ly"
                     ],
-                    "regression": "IMDB_Rating",
+                    "loess": "IMDB_Rating",
                     "on": "Rotten_Tomatoes_Rating"
                 }
-            ],
-            "mark": {
-                "color": "orange",
-                "type": "line"
-            },
+            ]
+        },
+        {
             "encoding": {
                 "x": {
                     "field": "Rotten_Tomatoes_Rating",
@@ -73,8 +59,22 @@
                     "field": "ry",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": {
+                "color": "orange",
+                "type": "line"
+            },
+            "transform": [
+                {
+                    "as": [
+                        "Rotten_Tomatoes_Rating",
+                        "ry"
+                    ],
+                    "on": "Rotten_Tomatoes_Rating",
+                    "regression": "IMDB_Rating"
+                }
+            ]
         }
     ],
-    "description": "How can we 'smooth' and rename data?"
+    "width": 300
 }
diff --git a/tests/specs/gallery/table/table1.vl b/tests/specs/gallery/table/table1.vl
--- a/tests/specs/gallery/table/table1.vl
+++ b/tests/specs/gallery/table/table1.vl
@@ -1,13 +1,13 @@
 {
-    "mark": "rect",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "'Table heatmap' showing engine size/power for three countries.",
     "encoding": {
         "color": {
-            "field": "Horsepower",
             "aggregate": "mean",
+            "field": "Horsepower",
             "type": "quantitative"
         },
         "x": {
@@ -19,5 +19,5 @@
             "type": "nominal"
         }
     },
-    "description": "'Table heatmap' showing engine size/power for three countries."
+    "mark": "rect"
 }
diff --git a/tests/specs/gallery/table/table2.vl b/tests/specs/gallery/table/table2.vl
--- a/tests/specs/gallery/table/table2.vl
+++ b/tests/specs/gallery/table/table2.vl
@@ -1,45 +1,45 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "strokeWidth": 0,
-            "step": 13
-        },
         "axis": {
             "domain": false
+        },
+        "view": {
+            "step": 13,
+            "strokeWidth": 0
         }
     },
-    "mark": "rect",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-temps.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Annual weather 'heatmap'",
     "encoding": {
         "color": {
-            "field": "temp",
             "aggregate": "max",
-            "type": "quantitative",
+            "field": "temp",
             "legend": {
                 "title": null
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
-            "field": "date",
-            "timeUnit": "date",
-            "type": "ordinal",
             "axis": {
-                "labelAngle": 0,
                 "format": "%e",
+                "labelAngle": 0,
                 "title": "Day"
-            }
+            },
+            "field": "date",
+            "timeUnit": "date",
+            "type": "ordinal"
         },
         "y": {
-            "field": "date",
-            "timeUnit": "month",
-            "type": "ordinal",
             "axis": {
                 "title": "Month"
-            }
+            },
+            "field": "date",
+            "timeUnit": "month",
+            "type": "ordinal"
         }
     },
-    "description": "Annual weather 'heatmap'"
+    "mark": "rect"
 }
diff --git a/tests/specs/gallery/table/table3.vl b/tests/specs/gallery/table/table3.vl
--- a/tests/specs/gallery/table/table3.vl
+++ b/tests/specs/gallery/table/table3.vl
@@ -1,21 +1,5 @@
 {
-    "transform": [
-        {
-            "filter": {
-                "and": [
-                    {
-                        "field": "IMDB_Rating",
-                        "valid": true
-                    },
-                    {
-                        "field": "Rotten_Tomatoes_Rating",
-                        "valid": true
-                    }
-                ]
-            }
-        }
-    ],
-    "height": 200,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "range": {
             "heatmap": {
@@ -26,31 +10,47 @@
             "stroke": null
         }
     },
-    "mark": "rect",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "'Binned heatmap' comparing movie ratings.",
     "encoding": {
         "color": {
             "aggregate": "count",
             "type": "quantitative"
         },
         "x": {
-            "field": "IMDB_Rating",
             "bin": {
                 "maxbins": 60
             },
+            "field": "IMDB_Rating",
             "type": "quantitative"
         },
         "y": {
-            "field": "Rotten_Tomatoes_Rating",
             "bin": {
                 "maxbins": 40
             },
+            "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
     },
-    "description": "'Binned heatmap' comparing movie ratings."
+    "height": 200,
+    "mark": "rect",
+    "transform": [
+        {
+            "filter": {
+                "and": [
+                    {
+                        "field": "IMDB_Rating",
+                        "valid": true
+                    },
+                    {
+                        "field": "Rotten_Tomatoes_Rating",
+                        "valid": true
+                    }
+                ]
+            }
+        }
+    ],
+    "width": 300
 }
diff --git a/tests/specs/gallery/table/table4.vl b/tests/specs/gallery/table/table4.vl
--- a/tests/specs/gallery/table/table4.vl
+++ b/tests/specs/gallery/table/table4.vl
@@ -1,13 +1,13 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/github.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Table bubble plot in the style of a Github punched card.",
     "encoding": {
         "size": {
-            "field": "count",
             "aggregate": "sum",
+            "field": "count",
             "type": "quantitative"
         },
         "x": {
@@ -21,5 +21,5 @@
             "type": "ordinal"
         }
     },
-    "description": "Table bubble plot in the style of a Github punched card."
+    "mark": "circle"
 }
diff --git a/tests/specs/gallery/table/table5.vl b/tests/specs/gallery/table/table5.vl
--- a/tests/specs/gallery/table/table5.vl
+++ b/tests/specs/gallery/table/table5.vl
@@ -1,51 +1,51 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "text": {
-            "baseline": "middle"
-        },
         "scale": {
             "bandPaddingInner": 0,
             "bandPaddingOuter": 0
+        },
+        "text": {
+            "baseline": "middle"
         }
     },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Layering text over 'heatmap'.",
+    "encoding": {
+        "x": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
+        "y": {
+            "field": "Origin",
+            "type": "ordinal"
+        }
+    },
     "layer": [
         {
-            "mark": "rect",
             "encoding": {
                 "color": {
-                    "field": "*",
                     "aggregate": "count",
+                    "field": "*",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "rect"
         },
         {
-            "mark": "text",
             "encoding": {
                 "color": {
                     "value": "white"
                 },
                 "text": {
-                    "field": "*",
                     "aggregate": "count",
+                    "field": "*",
                     "type": "quantitative"
                 }
-            }
-        }
-    ],
-    "encoding": {
-        "x": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
-        "y": {
-            "field": "Origin",
-            "type": "ordinal"
+            },
+            "mark": "text"
         }
-    },
-    "description": "Layering text over 'heatmap'."
+    ]
 }
diff --git a/tests/specs/geo/choropleth1.vl b/tests/specs/geo/choropleth1.vl
--- a/tests/specs/geo/choropleth1.vl
+++ b/tests/specs/geo/choropleth1.vl
@@ -1,27 +1,27 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": {
-        "strokeOpacity": 0,
-        "type": "geoshape"
-    },
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json",
         "format": {
             "feature": "boroughs",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json"
     },
-    "width": 900,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "id",
             "type": "nominal"
         }
-    }
+    },
+    "height": 500,
+    "mark": {
+        "strokeOpacity": 0,
+        "type": "geoshape"
+    },
+    "width": 900
 }
diff --git a/tests/specs/geo/choropleth2.vl b/tests/specs/geo/choropleth2.vl
--- a/tests/specs/geo/choropleth2.vl
+++ b/tests/specs/geo/choropleth2.vl
@@ -1,29 +1,24 @@
 {
-    "height": 700,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 1200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 700,
     "layer": [
         {
-            "mark": {
-                "strokeWidth": 2,
-                "stroke": "rgb(251,247,238)",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json",
                 "format": {
                     "feature": "boroughs",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json"
             },
             "encoding": {
                 "color": {
                     "field": "id",
+                    "legend": null,
                     "scale": {
                         "domain": [
                             "Kingston upon Thames",
@@ -96,30 +91,23 @@
                             "#c7bfad"
                         ]
                     },
-                    "type": "nominal",
-                    "legend": null
+                    "type": "nominal"
                 },
                 "opacity": {
                     "value": 1
                 }
+            },
+            "mark": {
+                "stroke": "rgb(251,247,238)",
+                "strokeWidth": 2,
+                "type": "geoshape"
             }
         },
         {
-            "transform": [
-                {
-                    "as": "bLabel",
-                    "calculate": "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
-                }
-            ],
-            "mark": "text",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/londonCentroids.json"
             },
             "encoding": {
-                "text": {
-                    "field": "bLabel",
-                    "type": "nominal"
-                },
                 "latitude": {
                     "field": "cy",
                     "type": "quantitative"
@@ -127,8 +115,20 @@
                 "longitude": {
                     "field": "cx",
                     "type": "quantitative"
+                },
+                "text": {
+                    "field": "bLabel",
+                    "type": "nominal"
                 }
-            }
+            },
+            "mark": "text",
+            "transform": [
+                {
+                    "as": "bLabel",
+                    "calculate": "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
+                }
+            ]
         }
-    ]
+    ],
+    "width": 1200
 }
diff --git a/tests/specs/geo/defaultSize1.vl b/tests/specs/geo/defaultSize1.vl
--- a/tests/specs/geo/defaultSize1.vl
+++ b/tests/specs/geo/defaultSize1.vl
@@ -1,20 +1,20 @@
 {
-    "mark": "geoshape",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/us-10m.json",
         "format": {
             "feature": "counties",
             "type": "topojson"
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
+        },
+        "url": "https://vega.github.io/vega-lite/data/us-10m.json"
     },
+    "description": "Default map size",
     "encoding": {
         "color": {
             "value": "black"
         }
     },
-    "description": "Default map size"
+    "mark": "geoshape",
+    "projection": {
+        "type": "albersUsa"
+    }
 }
diff --git a/tests/specs/geo/defaultSize2.vl b/tests/specs/geo/defaultSize2.vl
--- a/tests/specs/geo/defaultSize2.vl
+++ b/tests/specs/geo/defaultSize2.vl
@@ -1,26 +1,26 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "continuousHeight": 300,
             "continuousWidth": 500
         }
     },
-    "mark": "geoshape",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/us-10m.json",
         "format": {
             "feature": "counties",
             "type": "topojson"
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
+        },
+        "url": "https://vega.github.io/vega-lite/data/us-10m.json"
     },
+    "description": "Default map size with view width and height specified in config.",
     "encoding": {
         "color": {
             "value": "black"
         }
     },
-    "description": "Default map size with view width and height specified in config."
+    "mark": "geoshape",
+    "projection": {
+        "type": "albersUsa"
+    }
 }
diff --git a/tests/specs/geo/dotMap1.vl b/tests/specs/geo/dotMap1.vl
--- a/tests/specs/geo/dotMap1.vl
+++ b/tests/specs/geo/dotMap1.vl
@@ -1,28 +1,14 @@
 {
-    "transform": [
-        {
-            "as": "digit",
-            "calculate": "substring(datum.zip_code, 0, 1)"
-        }
-    ],
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/zipcodes.csv"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "description": "US zip codes: One dot per zipcode colored by first digit",
     "encoding": {
         "color": {
             "field": "digit",
             "type": "nominal"
         },
-        "size": {
-            "value": 1
-        },
         "latitude": {
             "field": "latitude",
             "type": "quantitative"
@@ -30,7 +16,21 @@
         "longitude": {
             "field": "longitude",
             "type": "quantitative"
+        },
+        "size": {
+            "value": 1
         }
     },
-    "description": "US zip codes: One dot per zipcode colored by first digit"
+    "height": 300,
+    "mark": "circle",
+    "projection": {
+        "type": "albersUsa"
+    },
+    "transform": [
+        {
+            "as": "digit",
+            "calculate": "substring(datum.zip_code, 0, 1)"
+        }
+    ],
+    "width": 500
 }
diff --git a/tests/specs/geo/geo_constant_value.vl b/tests/specs/geo/geo_constant_value.vl
--- a/tests/specs/geo/geo_constant_value.vl
+++ b/tests/specs/geo/geo_constant_value.vl
@@ -1,23 +1,15 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/airports.csv"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
+    "height": 300,
     "layer": [
         {
-            "mark": "square",
             "encoding": {
                 "color": {
                     "value": "gray"
                 },
-                "size": {
-                    "value": 1
-                },
                 "latitude": {
                     "field": "latitude",
                     "type": "quantitative"
@@ -25,44 +17,52 @@
                 "longitude": {
                     "field": "longitude",
                     "type": "quantitative"
+                },
+                "size": {
+                    "value": 1
                 }
-            }
+            },
+            "mark": "square"
         },
         {
-            "mark": "square",
             "encoding": {
                 "color": {
                     "value": "steelblue"
                 },
-                "size": {
-                    "value": 1
-                },
                 "latitude": {
                     "field": "latitude",
                     "type": "quantitative"
                 },
                 "longitude": {
                     "datum": -122.335167
+                },
+                "size": {
+                    "value": 1
                 }
-            }
+            },
+            "mark": "square"
         },
         {
-            "mark": "square",
             "encoding": {
                 "color": {
                     "value": "firebrick"
                 },
-                "size": {
-                    "value": 1
-                },
                 "latitude": {
                     "datum": 47.608013
                 },
                 "longitude": {
                     "field": "longitude",
                     "type": "quantitative"
+                },
+                "size": {
+                    "value": 1
                 }
-            }
+            },
+            "mark": "square"
         }
-    ]
+    ],
+    "projection": {
+        "type": "albersUsa"
+    },
+    "width": 500
 }
diff --git a/tests/specs/geo/graticule1.vl b/tests/specs/geo/graticule1.vl
--- a/tests/specs/geo/graticule1.vl
+++ b/tests/specs/geo/graticule1.vl
@@ -1,34 +1,34 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic",
-        "rotate": [
-            -42,
-            -30,
-            0
-        ]
-    },
+    "height": 300,
     "layer": [
         {
+            "data": {
+                "sphere": true
+            },
             "mark": {
                 "fill": "aliceblue",
                 "type": "geoshape"
-            },
-            "data": {
-                "sphere": true
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.3,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
                 "graticule": true
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 0.3,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "rotate": [
+            -42,
+            -30,
+            0
+        ],
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/graticule2.vl b/tests/specs/geo/graticule2.vl
--- a/tests/specs/geo/graticule2.vl
+++ b/tests/specs/geo/graticule2.vl
@@ -1,34 +1,19 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic",
-        "rotate": [
-            -42,
-            -30,
-            0
-        ]
-    },
+    "height": 300,
     "layer": [
         {
+            "data": {
+                "sphere": true
+            },
             "mark": {
                 "fill": "aliceblue",
                 "type": "geoshape"
-            },
-            "data": {
-                "sphere": true
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.3,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
                 "graticule": {
-                    "precision": 2,
                     "extent": [
                         [
                             0,
@@ -39,12 +24,27 @@
                             90
                         ]
                     ],
+                    "precision": 2,
                     "step": [
                         2,
                         2
                     ]
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 0.3,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "rotate": [
+            -42,
+            -30,
+            0
+        ],
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/graticule3.vl b/tests/specs/geo/graticule3.vl
--- a/tests/specs/geo/graticule3.vl
+++ b/tests/specs/geo/graticule3.vl
@@ -1,37 +1,19 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic",
-        "rotate": [
-            -42,
-            -30,
-            0
-        ]
-    },
+    "height": 300,
     "layer": [
         {
+            "data": {
+                "sphere": true
+            },
             "mark": {
                 "fill": "aliceblue",
                 "type": "geoshape"
-            },
-            "data": {
-                "sphere": true
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.3,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
                 "graticule": {
-                    "stepMinor": [
-                        2,
-                        2
-                    ],
                     "extentMajor": [
                         [
                             0,
@@ -51,9 +33,27 @@
                             90,
                             75.01
                         ]
+                    ],
+                    "stepMinor": [
+                        2,
+                        2
                     ]
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 0.3,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "rotate": [
+            -42,
+            -30,
+            0
+        ],
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/graticule4.vl b/tests/specs/geo/graticule4.vl
--- a/tests/specs/geo/graticule4.vl
+++ b/tests/specs/geo/graticule4.vl
@@ -1,31 +1,17 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic",
-        "rotate": [
-            -42,
-            -30,
-            0
-        ]
-    },
+    "height": 300,
     "layer": [
         {
+            "data": {
+                "sphere": true
+            },
             "mark": {
                 "fill": "aliceblue",
                 "type": "geoshape"
-            },
-            "data": {
-                "sphere": true
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.3,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
                 "graticule": {
                     "stepMinor": [
@@ -33,7 +19,21 @@
                         30
                     ]
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 0.3,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "rotate": [
+            -42,
+            -30,
+            0
+        ],
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/linear1.vl b/tests/specs/geo/linear1.vl
--- a/tests/specs/geo/linear1.vl
+++ b/tests/specs/geo/linear1.vl
@@ -1,22 +1,22 @@
 {
-    "height": 500,
-    "mark": {
-        "type": "geoshape",
-        "filled": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json",
         "format": {
             "feature": "line",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json"
     },
-    "width": 700,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "id",
             "type": "nominal"
         }
-    }
+    },
+    "height": 500,
+    "mark": {
+        "filled": false,
+        "type": "geoshape"
+    },
+    "width": 700
 }
diff --git a/tests/specs/geo/linear2.vl b/tests/specs/geo/linear2.vl
--- a/tests/specs/geo/linear2.vl
+++ b/tests/specs/geo/linear2.vl
@@ -1,27 +1,24 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "mark": {
-        "strokeWidth": 2,
-        "type": "geoshape",
-        "filled": false
-    },
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json",
         "format": {
             "feature": "line",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json"
     },
-    "width": 700,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "id",
+            "legend": {
+                "orient": "bottom-right",
+                "title": null
+            },
             "scale": {
                 "domain": [
                     "Bakerloo",
@@ -52,11 +49,14 @@
                     "rgb(106,187,170)"
                 ]
             },
-            "type": "nominal",
-            "legend": {
-                "orient": "bottom-right",
-                "title": null
-            }
+            "type": "nominal"
         }
-    }
+    },
+    "height": 500,
+    "mark": {
+        "filled": false,
+        "strokeWidth": 2,
+        "type": "geoshape"
+    },
+    "width": 700
 }
diff --git a/tests/specs/geo/linear3.vl b/tests/specs/geo/linear3.vl
--- a/tests/specs/geo/linear3.vl
+++ b/tests/specs/geo/linear3.vl
@@ -1,80 +1,79 @@
 {
-    "height": 500,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "stroke": null
         }
     },
-    "width": 700,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 500,
     "layer": [
         {
-            "mark": {
-                "strokeWidth": 2,
-                "stroke": "rgb(251,247,238)",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json",
                 "format": {
                     "feature": "boroughs",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/londonBoroughs.json"
             },
             "encoding": {
                 "color": {
                     "value": "#ddc"
                 }
+            },
+            "mark": {
+                "stroke": "rgb(251,247,238)",
+                "strokeWidth": 2,
+                "type": "geoshape"
             }
         },
         {
-            "transform": [
-                {
-                    "as": "bLabel",
-                    "calculate": "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
-                }
-            ],
-            "mark": "text",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/londonCentroids.json"
             },
             "encoding": {
-                "size": {
-                    "value": 8
-                },
-                "text": {
-                    "field": "bLabel",
-                    "type": "nominal"
-                },
                 "latitude": {
                     "field": "cy",
                     "type": "quantitative"
                 },
-                "opacity": {
-                    "value": 0.6
-                },
                 "longitude": {
                     "field": "cx",
                     "type": "quantitative"
+                },
+                "opacity": {
+                    "value": 0.6
+                },
+                "size": {
+                    "value": 8
+                },
+                "text": {
+                    "field": "bLabel",
+                    "type": "nominal"
                 }
-            }
+            },
+            "mark": "text",
+            "transform": [
+                {
+                    "as": "bLabel",
+                    "calculate": "indexof (datum.name,' ') > 0  ? substring(datum.name,0,indexof(datum.name, ' ')) : datum.name"
+                }
+            ]
         },
         {
-            "mark": {
-                "strokeWidth": 2,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json",
                 "format": {
                     "feature": "line",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/londonTubeLines.json"
             },
             "encoding": {
                 "color": {
                     "field": "id",
+                    "legend": {
+                        "offset": 0,
+                        "orient": "bottom-right",
+                        "title": null
+                    },
                     "scale": {
                         "domain": [
                             "Bakerloo",
@@ -105,14 +104,15 @@
                             "rgb(106,187,170)"
                         ]
                     },
-                    "type": "nominal",
-                    "legend": {
-                        "offset": 0,
-                        "orient": "bottom-right",
-                        "title": null
-                    }
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 2,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "width": 700
 }
diff --git a/tests/specs/geo/map1d.vl b/tests/specs/geo/map1d.vl
--- a/tests/specs/geo/map1d.vl
+++ b/tests/specs/geo/map1d.vl
@@ -1,24 +1,22 @@
 {
-    "height": 400,
-    "width": 500,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 400,
     "layer": [
         {
-            "mark": {
-                "stroke": "white",
-                "fill": "lightgrey",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://gicentre.github.io/data/geoTutorials/londonBoroughs.json",
                 "format": {
                     "feature": "boroughs",
                     "type": "topojson"
-                }
+                },
+                "url": "https://gicentre.github.io/data/geoTutorials/londonBoroughs.json"
+            },
+            "mark": {
+                "fill": "lightgrey",
+                "stroke": "white",
+                "type": "geoshape"
             }
         },
         {
-            "mark": "circle",
             "data": {
                 "url": "https://gicentre.github.io/data/geoTutorials/londonCentroids.csv"
             },
@@ -31,10 +29,10 @@
                     "field": "cx",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "circle"
         },
         {
-            "mark": "circle",
             "data": {
                 "url": "https://gicentre.github.io/data/geoTutorials/londonCentroids.csv"
             },
@@ -46,10 +44,10 @@
                     "field": "cx",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "circle"
         },
         {
-            "mark": "circle",
             "data": {
                 "url": "https://gicentre.github.io/data/geoTutorials/londonCentroids.csv"
             },
@@ -61,7 +59,9 @@
                 "longitude": {
                     "value": -0.52
                 }
-            }
+            },
+            "mark": "circle"
         }
-    ]
+    ],
+    "width": 500
 }
diff --git a/tests/specs/geo/mapComp1.vl b/tests/specs/geo/mapComp1.vl
--- a/tests/specs/geo/mapComp1.vl
+++ b/tests/specs/geo/mapComp1.vl
@@ -1,59 +1,59 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "hconcat": [
         {
-            "height": 300,
-            "mark": {
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
-            "width": 300,
+            "height": 300,
+            "mark": {
+                "filled": false,
+                "type": "geoshape"
+            },
             "projection": {
                 "type": "orthographic"
-            }
+            },
+            "width": 300
         },
         {
-            "height": 300,
-            "mark": {
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
-            "width": 300,
+            "height": 300,
+            "mark": {
+                "filled": false,
+                "type": "geoshape"
+            },
             "projection": {
                 "type": "orthographic"
-            }
+            },
+            "width": 300
         },
         {
-            "height": 300,
-            "mark": {
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
-            "width": 300,
+            "height": 300,
+            "mark": {
+                "filled": false,
+                "type": "geoshape"
+            },
             "projection": {
                 "type": "orthographic"
-            }
+            },
+            "width": 300
         }
-    ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/geo/mapComp2.vl b/tests/specs/geo/mapComp2.vl
--- a/tests/specs/geo/mapComp2.vl
+++ b/tests/specs/geo/mapComp2.vl
@@ -1,124 +1,124 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "view": {
+            "stroke": null
+        }
+    },
     "hconcat": [
         {
             "height": 300,
-            "width": 300,
-            "projection": {
-                "type": "orthographic"
-            },
             "layer": [
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
+                    },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
                     }
                 },
                 {
-                    "mark": {
-                        "fill": "black",
-                        "type": "geoshape",
-                        "fillOpacity": 0.7
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "land",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
+                    },
+                    "mark": {
+                        "fill": "black",
+                        "fillOpacity": 0.7,
+                        "type": "geoshape"
                     }
                 }
-            ]
-        },
-        {
-            "height": 300,
-            "width": 300,
+            ],
             "projection": {
                 "type": "orthographic"
             },
+            "width": 300
+        },
+        {
+            "height": 300,
             "layer": [
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
+                    },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
                     }
                 },
                 {
-                    "mark": {
-                        "fill": "black",
-                        "type": "geoshape",
-                        "fillOpacity": 0.7
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "land",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
+                    },
+                    "mark": {
+                        "fill": "black",
+                        "fillOpacity": 0.7,
+                        "type": "geoshape"
                     }
                 }
-            ]
-        },
-        {
-            "height": 300,
-            "width": 300,
+            ],
             "projection": {
                 "type": "orthographic"
             },
+            "width": 300
+        },
+        {
+            "height": 300,
             "layer": [
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
+                    },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
                     }
                 },
                 {
-                    "mark": {
-                        "fill": "black",
-                        "type": "geoshape",
-                        "fillOpacity": 0.7
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "land",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
+                    },
+                    "mark": {
+                        "fill": "black",
+                        "fillOpacity": 0.7,
+                        "type": "geoshape"
                     }
                 }
-            ]
-        }
-    ],
-    "config": {
-        "view": {
-            "stroke": null
+            ],
+            "projection": {
+                "type": "orthographic"
+            },
+            "width": 300
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/geo/mapComp3.vl b/tests/specs/geo/mapComp3.vl
--- a/tests/specs/geo/mapComp3.vl
+++ b/tests/specs/geo/mapComp3.vl
@@ -1,166 +1,166 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "view": {
+            "stroke": null
+        }
+    },
     "hconcat": [
         {
             "height": 300,
-            "width": 300,
             "layer": [
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
                     },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             -65,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.5,
-                        "stroke": "white",
-                        "fill": "black",
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "countries",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
                     },
+                    "mark": {
+                        "fill": "black",
+                        "stroke": "white",
+                        "strokeWidth": 0.5,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             -65,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 }
-            ]
+            ],
+            "width": 300
         },
         {
             "height": 300,
-            "width": 300,
             "layer": [
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
                     },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             115,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.5,
-                        "stroke": "white",
-                        "fill": "black",
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "countries",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
                     },
+                    "mark": {
+                        "fill": "black",
+                        "stroke": "white",
+                        "strokeWidth": 0.5,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             115,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 }
-            ]
+            ],
+            "width": 300
         },
         {
             "height": 300,
-            "width": 300,
             "layer": [
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
                     },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             10,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.5,
-                        "stroke": "white",
-                        "fill": "black",
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "countries",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
                     },
+                    "mark": {
+                        "fill": "black",
+                        "stroke": "white",
+                        "strokeWidth": 0.5,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             10,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 }
-            ]
-        }
-    ],
-    "config": {
-        "view": {
-            "stroke": null
+            ],
+            "width": 300
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/geo/mapComp4.vl b/tests/specs/geo/mapComp4.vl
--- a/tests/specs/geo/mapComp4.vl
+++ b/tests/specs/geo/mapComp4.vl
@@ -1,158 +1,158 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "config": {
+        "view": {
+            "stroke": null
+        }
+    },
     "hconcat": [
         {
             "height": 300,
-            "width": 300,
             "layer": [
                 {
-                    "mark": {
-                        "fill": "#c1e7f5",
-                        "strokeOpacity": 0,
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "data/globe.json",
                         "format": {
                             "feature": "globe",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "data/globe.json"
                     },
+                    "mark": {
+                        "fill": "#c1e7f5",
+                        "strokeOpacity": 0,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             0,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
                     },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             0,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "white",
-                        "fill": "#242",
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "countries",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
                     },
+                    "mark": {
+                        "fill": "#242",
+                        "stroke": "white",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             0,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 }
-            ]
+            ],
+            "width": 300
         },
         {
             "height": 300,
-            "width": 300,
             "layer": [
                 {
-                    "mark": {
-                        "fill": "#c1e7f5",
-                        "strokeOpacity": 0,
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "data/globe.json",
                         "format": {
                             "feature": "globe",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "data/globe.json"
                     },
+                    "mark": {
+                        "fill": "#c1e7f5",
+                        "strokeOpacity": 0,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             0,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "#411",
-                        "type": "geoshape",
-                        "filled": false
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/graticule.json",
                         "format": {
                             "feature": "graticule",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/graticule.json"
                     },
+                    "mark": {
+                        "filled": false,
+                        "stroke": "#411",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             -40,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 },
                 {
-                    "mark": {
-                        "strokeWidth": 0.1,
-                        "stroke": "white",
-                        "fill": "#242",
-                        "type": "geoshape"
-                    },
                     "data": {
-                        "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                         "format": {
                             "feature": "countries",
                             "type": "topojson"
-                        }
+                        },
+                        "url": "https://vega.github.io/vega-lite/data/world-110m.json"
                     },
+                    "mark": {
+                        "fill": "#242",
+                        "stroke": "white",
+                        "strokeWidth": 0.1,
+                        "type": "geoshape"
+                    },
                     "projection": {
-                        "type": "orthographic",
                         "rotate": [
                             -40,
                             0,
                             0
-                        ]
+                        ],
+                        "type": "orthographic"
                     }
                 }
-            ]
-        }
-    ],
-    "config": {
-        "view": {
-            "stroke": null
+            ],
+            "width": 300
         }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    ]
 }
diff --git a/tests/specs/geo/scale1.vl b/tests/specs/geo/scale1.vl
--- a/tests/specs/geo/scale1.vl
+++ b/tests/specs/geo/scale1.vl
@@ -1,31 +1,21 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "scale": 470,
-        "type": "orthographic"
-    },
+    "height": 300,
     "layer": [
         {
-            "mark": {
-                "fill": "rgb(149,181,146)",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json",
                 "format": {
                     "feature": "countries1",
                     "type": "topojson"
-                }
+                },
+                "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json"
+            },
+            "mark": {
+                "fill": "rgb(149,181,146)",
+                "type": "geoshape"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.3,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
                 "graticule": {
                     "stepMinor": [
@@ -33,7 +23,17 @@
                         5
                     ]
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 0.3,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "scale": 470,
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/scribbleMap1.vl b/tests/specs/geo/scribbleMap1.vl
--- a/tests/specs/geo/scribbleMap1.vl
+++ b/tests/specs/geo/scribbleMap1.vl
@@ -1,42 +1,26 @@
 {
-    "transform": [
-        {
-            "filter": "datum.latitude != '' && datum.county != 'Honolulu' && datum.state !='AS'&& datum.state !='FM'&& datum.state !='PW'&& datum.state !='MH'&& datum.state !='GU'&& datum.state !='MP'&& datum.state !='VI'&& datum.state !='PR'"
-        },
-        {
-            "as": "conterminous",
-            "calculate": "datum.state == 'HI' ? 'hi' : (datum.state == 'AK' ? 'ak' : 'continent')"
-        }
-    ],
-    "height": 600,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "stroke": null
-        },
         "title": {
-            "fontSize": 28,
             "font": "Roboto",
+            "fontSize": 28,
             "fontWeight": 300
+        },
+        "view": {
+            "stroke": null
         }
     },
-    "mark": {
-        "strokeWidth": 0.2,
-        "interpolate": "monotone",
-        "type": "line"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/zipcodes.csv"
     },
-    "width": 1000,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
-    "title": "US connected zip codes",
     "encoding": {
         "color": {
             "value": "#666"
         },
+        "detail": {
+            "field": "conterminous",
+            "type": "nominal"
+        },
         "latitude": {
             "field": "latitude",
             "type": "quantitative"
@@ -48,10 +32,26 @@
         "order": {
             "field": "zip_code",
             "type": "quantitative"
+        }
+    },
+    "height": 600,
+    "mark": {
+        "interpolate": "monotone",
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "projection": {
+        "type": "albersUsa"
+    },
+    "title": "US connected zip codes",
+    "transform": [
+        {
+            "filter": "datum.latitude != '' && datum.county != 'Honolulu' && datum.state !='AS'&& datum.state !='FM'&& datum.state !='PW'&& datum.state !='MH'&& datum.state !='GU'&& datum.state !='MP'&& datum.state !='VI'&& datum.state !='PR'"
         },
-        "detail": {
-            "field": "conterminous",
-            "type": "nominal"
+        {
+            "as": "conterminous",
+            "calculate": "datum.state == 'HI' ? 'hi' : (datum.state == 'AK' ? 'ak' : 'continent')"
         }
-    }
+    ],
+    "width": 1000
 }
diff --git a/tests/specs/geo/scribbleMap2.vl b/tests/specs/geo/scribbleMap2.vl
--- a/tests/specs/geo/scribbleMap2.vl
+++ b/tests/specs/geo/scribbleMap2.vl
@@ -1,48 +1,28 @@
 {
-    "transform": [
-        {
-            "filter": "datum.latitude != '' && datum.county != 'Honolulu' && datum.state !='AS'&& datum.state !='FM'&& datum.state !='PW'&& datum.state !='MH'&& datum.state !='GU'&& datum.state !='MP'&& datum.state !='VI'&& datum.state !='PR'"
-        },
-        {
-            "as": "digit3",
-            "calculate": "substring(datum.zip_code, 0, 3)"
-        },
-        {
-            "as": "ziplen",
-            "calculate": "length(datum.zip_code+' ')"
-        }
-    ],
-    "height": 600,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "stroke": null
-        },
         "title": {
-            "fontSize": 28,
             "font": "Roboto",
+            "fontSize": 28,
             "fontWeight": 300
+        },
+        "view": {
+            "stroke": null
         }
     },
-    "mark": {
-        "strokeWidth": 0.2,
-        "interpolate": "monotone",
-        "type": "line"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/zipcodes.csv"
     },
-    "width": 1000,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "albersUsa"
-    },
-    "title": "US connected zip codes, coloured by first three digits",
     "encoding": {
         "color": {
             "field": "digit3",
-            "type": "nominal",
-            "legend": null
+            "legend": null,
+            "type": "nominal"
         },
+        "detail": {
+            "field": "ziplen",
+            "type": "nominal"
+        },
         "latitude": {
             "field": "latitude",
             "type": "quantitative"
@@ -54,10 +34,30 @@
         "order": {
             "field": "zip_code",
             "type": "quantitative"
+        }
+    },
+    "height": 600,
+    "mark": {
+        "interpolate": "monotone",
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "projection": {
+        "type": "albersUsa"
+    },
+    "title": "US connected zip codes, coloured by first three digits",
+    "transform": [
+        {
+            "filter": "datum.latitude != '' && datum.county != 'Honolulu' && datum.state !='AS'&& datum.state !='FM'&& datum.state !='PW'&& datum.state !='MH'&& datum.state !='GU'&& datum.state !='MP'&& datum.state !='VI'&& datum.state !='PR'"
         },
-        "detail": {
-            "field": "ziplen",
-            "type": "nominal"
+        {
+            "as": "digit3",
+            "calculate": "substring(datum.zip_code, 0, 3)"
+        },
+        {
+            "as": "ziplen",
+            "calculate": "length(datum.zip_code+' ')"
         }
-    }
+    ],
+    "width": 1000
 }
diff --git a/tests/specs/geo/sphere1.vl b/tests/specs/geo/sphere1.vl
--- a/tests/specs/geo/sphere1.vl
+++ b/tests/specs/geo/sphere1.vl
@@ -1,19 +1,19 @@
 {
-    "height": 300,
-    "mark": {
-        "fill": "rgb(149,181,146)",
-        "type": "geoshape"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json",
         "format": {
             "feature": "countries1",
             "type": "topojson"
-        }
+        },
+        "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fill": "rgb(149,181,146)",
+        "type": "geoshape"
+    },
     "projection": {
         "type": "orthographic"
-    }
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/sphere2.vl b/tests/specs/geo/sphere2.vl
--- a/tests/specs/geo/sphere2.vl
+++ b/tests/specs/geo/sphere2.vl
@@ -1,32 +1,32 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic"
-    },
+    "height": 300,
     "layer": [
         {
+            "data": {
+                "sphere": true
+            },
             "mark": {
                 "fill": "aliceblue",
                 "type": "geoshape"
-            },
-            "data": {
-                "sphere": true
             }
         },
         {
-            "mark": {
-                "fill": "rgb(149,181,146)",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json",
                 "format": {
                     "feature": "countries1",
                     "type": "topojson"
-                }
+                },
+                "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json"
+            },
+            "mark": {
+                "fill": "rgb(149,181,146)",
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/geo/translate1.vl b/tests/specs/geo/translate1.vl
--- a/tests/specs/geo/translate1.vl
+++ b/tests/specs/geo/translate1.vl
@@ -1,34 +1,21 @@
 {
-    "height": 300,
-    "width": 300,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "projection": {
-        "type": "orthographic",
-        "translate": [
-            0,
-            100
-        ]
-    },
+    "height": 300,
     "layer": [
         {
-            "mark": {
-                "fill": "rgb(149,181,146)",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json",
                 "format": {
                     "feature": "countries1",
                     "type": "topojson"
-                }
+                },
+                "url": "https://gicentre.github.io/data/geoTutorials/world-110m.json"
+            },
+            "mark": {
+                "fill": "rgb(149,181,146)",
+                "type": "geoshape"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.3,
-                "type": "geoshape",
-                "filled": false
-            },
             "data": {
                 "graticule": {
                     "stepMinor": [
@@ -36,7 +23,20 @@
                         5
                     ]
                 }
+            },
+            "mark": {
+                "filled": false,
+                "strokeWidth": 0.3,
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "projection": {
+        "translate": [
+            0,
+            100
+        ],
+        "type": "orthographic"
+    },
+    "width": 300
 }
diff --git a/tests/specs/hyperlink/hyperlink1.vl b/tests/specs/hyperlink/hyperlink1.vl
--- a/tests/specs/hyperlink/hyperlink1.vl
+++ b/tests/specs/hyperlink/hyperlink1.vl
@@ -1,45 +1,44 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "url": "https://vega.github.io/vega",
-                "label": "Vega"
+                "label": "Vega",
+                "url": "https://vega.github.io/vega"
             },
             {
-                "url": "https://vega.github.io/vega-lite",
-                "label": "Vega-Lite"
+                "label": "Vega-Lite",
+                "url": "https://vega.github.io/vega-lite"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "cursor": "pointer",
-                "type": "circle"
-            },
             "encoding": {
                 "color": {
                     "field": "label",
-                    "type": "nominal",
-                    "legend": null
-                },
-                "size": {
-                    "value": 8000
+                    "legend": null,
+                    "type": "nominal"
                 },
                 "href": {
                     "field": "url",
                     "type": "nominal"
                 },
+                "size": {
+                    "value": 8000
+                },
                 "x": {
+                    "axis": null,
                     "field": "label",
-                    "type": "nominal",
-                    "axis": null
+                    "type": "nominal"
                 }
+            },
+            "mark": {
+                "cursor": "pointer",
+                "type": "circle"
             }
         },
         {
-            "mark": "text",
             "encoding": {
                 "color": {
                     "value": "white"
@@ -52,11 +51,12 @@
                     "type": "nominal"
                 },
                 "x": {
+                    "axis": null,
                     "field": "label",
-                    "type": "nominal",
-                    "axis": null
+                    "type": "nominal"
                 }
-            }
+            },
+            "mark": "text"
         }
     ]
 }
diff --git a/tests/specs/hyperlink/hyperlink2.vl b/tests/specs/hyperlink/hyperlink2.vl
--- a/tests/specs/hyperlink/hyperlink2.vl
+++ b/tests/specs/hyperlink/hyperlink2.vl
@@ -1,12 +1,8 @@
 {
-    "mark": {
-        "cursor": "pointer",
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "href": {
             "value": "http://www.imdb.com"
@@ -19,5 +15,9 @@
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "cursor": "pointer",
+        "type": "point"
     }
 }
diff --git a/tests/specs/hyperlink/hyperlink3.vl b/tests/specs/hyperlink/hyperlink3.vl
--- a/tests/specs/hyperlink/hyperlink3.vl
+++ b/tests/specs/hyperlink/hyperlink3.vl
@@ -1,26 +1,22 @@
 {
-    "mark": {
-        "cursor": "pointer",
-        "type": "point"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "value": "red",
             "condition": {
-                "value": "steelblue",
-                "test": "datum.IMDB_Rating*10 > datum.Rotten_Tomatoes_Rating"
-            }
+                "test": "datum.IMDB_Rating*10 > datum.Rotten_Tomatoes_Rating",
+                "value": "steelblue"
+            },
+            "value": "red"
         },
         "href": {
-            "value": "https://www.rottentomatoes.com",
             "condition": {
-                "value": "http://www.imdb.com",
-                "test": "datum.IMDB_Rating*10 > datum.Rotten_Tomatoes_Rating"
-            }
+                "test": "datum.IMDB_Rating*10 > datum.Rotten_Tomatoes_Rating",
+                "value": "http://www.imdb.com"
+            },
+            "value": "https://www.rottentomatoes.com"
         },
         "x": {
             "field": "IMDB_Rating",
@@ -30,5 +26,9 @@
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "cursor": "pointer",
+        "type": "point"
     }
 }
diff --git a/tests/specs/image/image1.vl b/tests/specs/image/image1.vl
--- a/tests/specs/image/image1.vl
+++ b/tests/specs/image/image1.vl
@@ -1,9 +1,5 @@
 {
-    "mark": {
-        "height": 25,
-        "width": 25,
-        "type": "image"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -20,7 +16,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "url": {
             "value": "https://vega.github.io/vega-lite/data/ffox.png"
@@ -33,5 +28,10 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "height": 25,
+        "type": "image",
+        "width": 25
     }
 }
diff --git a/tests/specs/image/image10.vl b/tests/specs/image/image10.vl
--- a/tests/specs/image/image10.vl
+++ b/tests/specs/image/image10.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 61,
-                "width": 100,
-                "type": "image",
-                "baseline": "bottom"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "baseline": "bottom",
+                "height": 61,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image2.vl b/tests/specs/image/image2.vl
--- a/tests/specs/image/image2.vl
+++ b/tests/specs/image/image2.vl
@@ -1,9 +1,5 @@
 {
-    "mark": {
-        "height": 25,
-        "width": 25,
-        "type": "image"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -23,7 +19,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "url": {
             "field": "img",
@@ -37,5 +32,10 @@
             "field": "y",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "height": 25,
+        "type": "image",
+        "width": 25
     }
 }
diff --git a/tests/specs/image/image3.vl b/tests/specs/image/image3.vl
--- a/tests/specs/image/image3.vl
+++ b/tests/specs/image/image3.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,14 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "aspect": true,
-                "width": 100,
-                "type": "image"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -39,15 +34,14 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "aspect": true,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -69,6 +63,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image4.vl b/tests/specs/image/image4.vl
--- a/tests/specs/image/image4.vl
+++ b/tests/specs/image/image4.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 100,
-                "aspect": false,
-                "width": 100,
-                "type": "image"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "aspect": false,
+                "height": 100,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image5.vl b/tests/specs/image/image5.vl
--- a/tests/specs/image/image5.vl
+++ b/tests/specs/image/image5.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 61,
-                "width": 100,
-                "align": "left",
-                "type": "image"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "align": "left",
+                "height": 61,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image6.vl b/tests/specs/image/image6.vl
--- a/tests/specs/image/image6.vl
+++ b/tests/specs/image/image6.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 61,
-                "width": 100,
-                "align": "center",
-                "type": "image"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "align": "center",
+                "height": 61,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image7.vl b/tests/specs/image/image7.vl
--- a/tests/specs/image/image7.vl
+++ b/tests/specs/image/image7.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 61,
-                "width": 100,
-                "align": "right",
-                "type": "image"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "align": "right",
+                "height": 61,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image8.vl b/tests/specs/image/image8.vl
--- a/tests/specs/image/image8.vl
+++ b/tests/specs/image/image8.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 61,
-                "width": 100,
-                "type": "image",
-                "baseline": "top"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "baseline": "top",
+                "height": 61,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/image/image9.vl b/tests/specs/image/image9.vl
--- a/tests/specs/image/image9.vl
+++ b/tests/specs/image/image9.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -7,15 +8,8 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "height": 61,
-                "width": 100,
-                "type": "image",
-                "baseline": "middle"
-            },
             "encoding": {
                 "url": {
                     "value": "https://gicentre.github.io/data/images/LillyTarn.jpg"
@@ -40,15 +34,15 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "baseline": "middle",
+                "height": 61,
+                "type": "image",
+                "width": 100
             }
         },
         {
-            "mark": {
-                "color": "red",
-                "size": 100,
-                "opacity": 0.5,
-                "type": "circle"
-            },
             "encoding": {
                 "x": {
                     "field": "x",
@@ -70,6 +64,12 @@
                     },
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "opacity": 0.5,
+                "size": 100,
+                "type": "circle"
             }
         }
     ]
diff --git a/tests/specs/interaction/bindlegend.vl b/tests/specs/interaction/bindlegend.vl
--- a/tests/specs/interaction/bindlegend.vl
+++ b/tests/specs/interaction/bindlegend.vl
@@ -1,22 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "bind": "legend",
-            "type": "single",
-            "fields": [
-                "crimeType"
-            ]
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -39,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -58,5 +47,16 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "bind": "legend",
+            "fields": [
+                "crimeType"
+            ],
+            "type": "single"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/bindlegend2.vl b/tests/specs/interaction/bindlegend2.vl
--- a/tests/specs/interaction/bindlegend2.vl
+++ b/tests/specs/interaction/bindlegend2.vl
@@ -1,24 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "bind": {
-                "legend": "dblclick"
-            },
-            "encodings": [
-                "color"
-            ],
-            "type": "single"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -41,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -60,5 +47,18 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "bind": {
+                "legend": "dblclick"
+            },
+            "encodings": [
+                "color"
+            ],
+            "type": "single"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/bindlegendboth.vl b/tests/specs/interaction/bindlegendboth.vl
--- a/tests/specs/interaction/bindlegendboth.vl
+++ b/tests/specs/interaction/bindlegendboth.vl
@@ -1,25 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "bind": {
-                "legend": "dblclick"
-            },
-            "type": "multi",
-            "on": "click",
-            "fields": [
-                "crimeType"
-            ]
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -42,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -61,5 +47,19 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "bind": {
+                "legend": "dblclick"
+            },
+            "fields": [
+                "crimeType"
+            ],
+            "on": "click",
+            "type": "multi"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/curhelp.vl b/tests/specs/interaction/curhelp.vl
--- a/tests/specs/interaction/curhelp.vl
+++ b/tests/specs/interaction/curhelp.vl
@@ -1,45 +1,45 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol==='GOOG'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "cursor": "text"
         }
     },
-    "mark": "line",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/stocks.csv",
         "format": {
             "parse": {
                 "date": "date"
             },
             "type": "csv"
+        },
+        "url": "https://vega.github.io/vega-lite/data/stocks.csv"
+    },
+    "encoding": {
+        "x": {
+            "field": "date",
+            "type": "temporal"
+        },
+        "y": {
+            "field": "price",
+            "type": "quantitative"
         }
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "mark": "line",
     "selection": {
         "myBrush": {
-            "mark": {
-                "cursor": "help"
-            },
             "encodings": [
                 "x"
             ],
+            "mark": {
+                "cursor": "help"
+            },
             "type": "interval"
         }
     },
-    "encoding": {
-        "x": {
-            "field": "date",
-            "type": "temporal"
-        },
-        "y": {
-            "field": "price",
-            "type": "quantitative"
+    "transform": [
+        {
+            "filter": "datum.symbol==='GOOG'"
         }
-    }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/interaction/curpointer.vl b/tests/specs/interaction/curpointer.vl
--- a/tests/specs/interaction/curpointer.vl
+++ b/tests/specs/interaction/curpointer.vl
@@ -1,45 +1,45 @@
 {
-    "transform": [
-        {
-            "filter": "datum.symbol==='GOOG'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "cursor": "text"
         }
     },
-    "mark": "line",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/stocks.csv",
         "format": {
             "parse": {
                 "date": "date"
             },
             "type": "csv"
+        },
+        "url": "https://vega.github.io/vega-lite/data/stocks.csv"
+    },
+    "encoding": {
+        "x": {
+            "field": "date",
+            "type": "temporal"
+        },
+        "y": {
+            "field": "price",
+            "type": "quantitative"
         }
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "mark": "line",
     "selection": {
         "myBrush": {
-            "mark": {
-                "cursor": "pointer"
-            },
             "encodings": [
                 "x"
             ],
+            "mark": {
+                "cursor": "pointer"
+            },
             "type": "interval"
         }
     },
-    "encoding": {
-        "x": {
-            "field": "date",
-            "type": "temporal"
-        },
-        "y": {
-            "field": "price",
-            "type": "quantitative"
+    "transform": [
+        {
+            "filter": "datum.symbol==='GOOG'"
         }
-    }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/interaction/initinterval.vl b/tests/specs/interaction/initinterval.vl
--- a/tests/specs/interaction/initinterval.vl
+++ b/tests/specs/interaction/initinterval.vl
@@ -1,18 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -35,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -54,5 +47,12 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/initintervalx.vl b/tests/specs/interaction/initintervalx.vl
--- a/tests/specs/interaction/initintervalx.vl
+++ b/tests/specs/interaction/initintervalx.vl
@@ -1,31 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "init": {
-                "x": [
-                    {
-                        "year": 2013
-                    },
-                    {
-                        "year": 2015
-                    }
-                ]
-            },
-            "encodings": [
-                "x"
-            ],
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -48,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -67,5 +47,25 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "encodings": [
+                "x"
+            ],
+            "init": {
+                "x": [
+                    {
+                        "year": 2013
+                    },
+                    {
+                        "year": 2015
+                    }
+                ]
+            },
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/initintervalxy.vl b/tests/specs/interaction/initintervalxy.vl
--- a/tests/specs/interaction/initintervalxy.vl
+++ b/tests/specs/interaction/initintervalxy.vl
@@ -1,32 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "init": {
-                "x": [
-                    {
-                        "year": 2013
-                    },
-                    {
-                        "year": 2015
-                    }
-                ],
-                "y": [
-                    4000,
-                    8000
-                ]
-            },
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -49,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -68,5 +47,26 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "init": {
+                "x": [
+                    {
+                        "year": 2013
+                    },
+                    {
+                        "year": 2015
+                    }
+                ],
+                "y": [
+                    4000,
+                    8000
+                ]
+            },
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/initintervaly.vl b/tests/specs/interaction/initintervaly.vl
--- a/tests/specs/interaction/initintervaly.vl
+++ b/tests/specs/interaction/initintervaly.vl
@@ -1,24 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "init": {
-                "y": [
-                    4000,
-                    8000
-                ]
-            },
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -41,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -60,5 +47,18 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "init": {
+                "y": [
+                    4000,
+                    8000
+                ]
+            },
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction1.vl b/tests/specs/interaction/interaction1.vl
--- a/tests/specs/interaction/interaction1.vl
+++ b/tests/specs/interaction/interaction1.vl
@@ -1,18 +1,10 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "type": "single"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -35,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -54,5 +47,12 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "selection": {
+        "mySelection": {
+            "type": "single"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction2.vl b/tests/specs/interaction/interaction2.vl
--- a/tests/specs/interaction/interaction2.vl
+++ b/tests/specs/interaction/interaction2.vl
@@ -1,18 +1,10 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "type": "multi"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -35,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -54,5 +47,12 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "selection": {
+        "mySelection": {
+            "type": "multi"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction3.vl b/tests/specs/interaction/interaction3.vl
--- a/tests/specs/interaction/interaction3.vl
+++ b/tests/specs/interaction/interaction3.vl
@@ -1,22 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "nearest": true,
-            "type": "single",
-            "fields": [
-                "crimeType"
-            ]
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -39,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -58,5 +47,16 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "fields": [
+                "crimeType"
+            ],
+            "nearest": true,
+            "type": "single"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction4.vl b/tests/specs/interaction/interaction4.vl
--- a/tests/specs/interaction/interaction4.vl
+++ b/tests/specs/interaction/interaction4.vl
@@ -1,22 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "empty": "none",
-            "encodings": [
-                "x"
-            ],
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -39,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -58,5 +47,16 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "empty": "none",
+            "encodings": [
+                "x"
+            ],
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction5.vl b/tests/specs/interaction/interaction5.vl
--- a/tests/specs/interaction/interaction5.vl
+++ b/tests/specs/interaction/interaction5.vl
@@ -1,22 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "bind": "scales",
-            "encodings": [
-                "x"
-            ],
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -39,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -58,5 +47,16 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "bind": "scales",
+            "encodings": [
+                "x"
+            ],
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction6.vl b/tests/specs/interaction/interaction6.vl
--- a/tests/specs/interaction/interaction6.vl
+++ b/tests/specs/interaction/interaction6.vl
@@ -1,19 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "bind": "scales",
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -36,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -55,5 +47,13 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "bind": "scales",
+            "type": "interval"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction7.vl b/tests/specs/interaction/interaction7.vl
--- a/tests/specs/interaction/interaction7.vl
+++ b/tests/specs/interaction/interaction7.vl
@@ -1,35 +1,10 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "mySelection": {
-            "nearest": true,
-            "bind": {
-                "crimeType": {
-                    "input": "radio",
-                    "name": " ",
-                    "options": [
-                        "Anti-social behaviour",
-                        "Criminal damage and arson",
-                        "Drugs",
-                        "Robbery",
-                        "Vehicle crime"
-                    ]
-                }
-            },
-            "type": "single",
-            "fields": [
-                "crimeType"
-            ]
-        }
-    },
     "encoding": {
         "color": {
-            "value": "black",
             "condition": {
                 "field": "crimeType",
                 "scale": {
@@ -52,14 +27,15 @@
                 },
                 "selection": "mySelection",
                 "type": "nominal"
-            }
+            },
+            "value": "black"
         },
         "opacity": {
-            "value": 0.1,
             "condition": {
-                "value": 1,
-                "selection": "mySelection"
-            }
+                "selection": "mySelection",
+                "value": 1
+            },
+            "value": 0.1
         },
         "x": {
             "field": "month",
@@ -71,5 +47,29 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "mySelection": {
+            "bind": {
+                "crimeType": {
+                    "input": "radio",
+                    "name": " ",
+                    "options": [
+                        "Anti-social behaviour",
+                        "Criminal damage and arson",
+                        "Drugs",
+                        "Robbery",
+                        "Vehicle crime"
+                    ]
+                }
+            },
+            "fields": [
+                "crimeType"
+            ],
+            "nearest": true,
+            "type": "single"
+        }
+    },
+    "width": 540
 }
diff --git a/tests/specs/interaction/interaction8.vl b/tests/specs/interaction/interaction8.vl
--- a/tests/specs/interaction/interaction8.vl
+++ b/tests/specs/interaction/interaction8.vl
@@ -1,44 +1,8 @@
 {
-    "transform": [
-        {
-            "filter": "datum.reportedCrimes >= minSlider_minReported && maxSlider_maxReported >= datum.reportedCrimes"
-        }
-    ],
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 540,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "maxSlider": {
-            "init": {
-                "maxReported": 14000
-            },
-            "bind": {
-                "maxReported": {
-                    "max": 14000,
-                    "input": "range",
-                    "name": "Max",
-                    "min": 400
-                }
-            },
-            "type": "single"
-        },
-        "minSlider": {
-            "init": {
-                "minReported": 0
-            },
-            "bind": {
-                "minReported": {
-                    "max": 12800,
-                    "input": "range",
-                    "name": "Min"
-                }
-            },
-            "type": "single"
-        }
-    },
     "encoding": {
         "color": {
             "field": "crimeType",
@@ -72,5 +36,41 @@
             "title": "Reported crimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "selection": {
+        "maxSlider": {
+            "bind": {
+                "maxReported": {
+                    "input": "range",
+                    "max": 14000,
+                    "min": 400,
+                    "name": "Max"
+                }
+            },
+            "init": {
+                "maxReported": 14000
+            },
+            "type": "single"
+        },
+        "minSlider": {
+            "bind": {
+                "minReported": {
+                    "input": "range",
+                    "max": 12800,
+                    "name": "Min"
+                }
+            },
+            "init": {
+                "minReported": 0
+            },
+            "type": "single"
+        }
+    },
+    "transform": [
+        {
+            "filter": "datum.reportedCrimes >= minSlider_minReported && maxSlider_maxReported >= datum.reportedCrimes"
+        }
+    ],
+    "width": 540
 }
diff --git a/tests/specs/interaction/lookupSelection1.vl b/tests/specs/interaction/lookupSelection1.vl
--- a/tests/specs/interaction/lookupSelection1.vl
+++ b/tests/specs/interaction/lookupSelection1.vl
@@ -1,48 +1,66 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/stocks.csv",
         "format": {
             "parse": {
                 "date": "date"
             },
             "type": "csv"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 650,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
     "layer": [
         {
+            "encoding": {
+                "opacity": {
+                    "value": 0
+                },
+                "x": {
+                    "axis": null,
+                    "field": "date",
+                    "type": "temporal"
+                }
+            },
             "mark": "point",
             "selection": {
                 "index": {
-                    "nearest": true,
+                    "encodings": [
+                        "x"
+                    ],
                     "init": {
                         "x": {
                             "date": 1,
-                            "year": 2005,
-                            "month": 1
+                            "month": 1,
+                            "year": 2005
                         }
                     },
-                    "encodings": [
-                        "x"
-                    ],
-                    "type": "single",
-                    "on": "mouseover"
+                    "nearest": true,
+                    "on": "mouseover",
+                    "type": "single"
                 }
-            },
+            }
+        },
+        {
             "encoding": {
-                "opacity": {
-                    "value": 0
+                "color": {
+                    "field": "symbol",
+                    "type": "nominal"
                 },
                 "x": {
+                    "axis": null,
                     "field": "date",
-                    "type": "temporal",
-                    "axis": null
+                    "type": "temporal"
+                },
+                "y": {
+                    "axis": {
+                        "format": "%"
+                    },
+                    "field": "indexed_price",
+                    "type": "quantitative"
                 }
-            }
-        },
-        {
+            },
+            "mark": "line",
             "transform": [
                 {
                     "from": {
@@ -55,35 +73,19 @@
                     "as": "indexed_price",
                     "calculate": "datum.index && datum.index.price > 0 ? (datum.price - datum.index.price)/datum.index.price : 0"
                 }
-            ],
-            "mark": "line",
+            ]
+        },
+        {
             "encoding": {
                 "color": {
-                    "field": "symbol",
-                    "type": "nominal"
+                    "value": "firebrick"
                 },
                 "x": {
+                    "axis": null,
                     "field": "date",
-                    "type": "temporal",
-                    "axis": null
-                },
-                "y": {
-                    "field": "indexed_price",
-                    "type": "quantitative",
-                    "axis": {
-                        "format": "%"
-                    }
-                }
-            }
-        },
-        {
-            "transform": [
-                {
-                    "filter": {
-                        "selection": "index"
-                    }
+                    "type": "temporal"
                 }
-            ],
+            },
             "layer": [
                 {
                     "mark": {
@@ -92,11 +94,6 @@
                     }
                 },
                 {
-                    "mark": {
-                        "align": "center",
-                        "type": "text",
-                        "fontWeight": 100
-                    },
                     "encoding": {
                         "text": {
                             "field": "date",
@@ -106,19 +103,22 @@
                         "y": {
                             "value": 310
                         }
+                    },
+                    "mark": {
+                        "align": "center",
+                        "fontWeight": 100,
+                        "type": "text"
                     }
                 }
             ],
-            "encoding": {
-                "color": {
-                    "value": "firebrick"
-                },
-                "x": {
-                    "field": "date",
-                    "type": "temporal",
-                    "axis": null
+            "transform": [
+                {
+                    "filter": {
+                        "selection": "index"
+                    }
                 }
-            }
+            ]
         }
-    ]
+    ],
+    "width": 650
 }
diff --git a/tests/specs/legend/corners1.vl b/tests/specs/legend/corners1.vl
--- a/tests/specs/legend/corners1.vl
+++ b/tests/specs/legend/corners1.vl
@@ -1,50 +1,47 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {
-            "labelOpacity": 0.6,
             "cornerRadius": 5,
-            "symbolStrokeColor": null,
-            "strokeWidth": 2,
             "fillColor": "pink",
+            "labelAlign": "right",
+            "labelBaseline": "top",
+            "labelColor": "fireBrick",
+            "labelFontSize": 20,
+            "labelFontWeight": 600,
+            "labelOpacity": 0.6,
             "labelOverlap": "greedy",
+            "padding": 30,
             "rowPadding": 15,
-            "labelColor": "fireBrick",
-            "titlePadding": 20,
-            "symbolStrokeWidth": 1,
+            "strokeColor": "orange",
             "strokeDash": [
                 4,
                 2,
                 6,
                 1
             ],
-            "labelFontWeight": 600,
-            "labelBaseline": "top",
-            "labelFontSize": 20,
-            "labelAlign": "right",
-            "padding": 30,
-            "strokeColor": "orange"
+            "strokeWidth": 2,
+            "symbolStrokeColor": null,
+            "symbolStrokeWidth": 1,
+            "titlePadding": 20
         }
     },
-    "mark": "circle",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative"
-        },
         "opacity": {
             "field": "Weight_in_lbs",
             "type": "quantitative"
         },
+        "size": {
+            "field": "Horsepower",
+            "type": "quantitative"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -53,5 +50,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/corners2.vl b/tests/specs/legend/corners2.vl
--- a/tests/specs/legend/corners2.vl
+++ b/tests/specs/legend/corners2.vl
@@ -1,80 +1,77 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
-                "labelOpacity": 0.6,
                 "cornerRadius": 5,
-                "symbolStrokeColor": null,
                 "fillColor": "pink",
-                "labelOverlap": "greedy",
-                "rowPadding": 15,
-                "symbolLimit": 5,
+                "labelAlign": "right",
+                "labelBaseline": "top",
                 "labelColor": "fireBrick",
                 "labelExpr": "'<' + datum.label + '>'",
-                "titlePadding": 20,
-                "symbolStrokeWidth": 1,
-                "labelFontWeight": 600,
-                "labelBaseline": "top",
                 "labelFontSize": 20,
-                "labelAlign": "right",
-                "padding": 30,
-                "strokeColor": "orange"
-            }
-        },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
-            "legend": {
+                "labelFontWeight": 600,
                 "labelOpacity": 0.6,
-                "cornerRadius": 5,
-                "symbolStrokeColor": null,
-                "fillColor": "pink",
                 "labelOverlap": "greedy",
+                "padding": 30,
                 "rowPadding": 15,
+                "strokeColor": "orange",
                 "symbolLimit": 5,
-                "labelColor": "fireBrick",
-                "labelExpr": "'<' + datum.label + '>'",
-                "titlePadding": 20,
+                "symbolStrokeColor": null,
                 "symbolStrokeWidth": 1,
-                "labelFontWeight": 600,
-                "labelBaseline": "top",
-                "labelFontSize": 20,
-                "labelAlign": "right",
-                "padding": 30,
-                "strokeColor": "orange"
-            }
+                "titlePadding": 20
+            },
+            "type": "nominal"
         },
         "opacity": {
             "field": "Weight_in_lbs",
-            "type": "quantitative",
             "legend": {
-                "labelOpacity": 0.6,
                 "cornerRadius": 5,
-                "symbolStrokeColor": null,
                 "fillColor": "pink",
+                "labelAlign": "right",
+                "labelBaseline": "top",
+                "labelColor": "fireBrick",
+                "labelExpr": "'<' + datum.label + '>'",
+                "labelFontSize": 20,
+                "labelFontWeight": 600,
+                "labelOpacity": 0.6,
                 "labelOverlap": "greedy",
+                "padding": 30,
                 "rowPadding": 15,
+                "strokeColor": "orange",
                 "symbolLimit": 5,
-                "labelColor": "fireBrick",
-                "labelExpr": "'<' + datum.label + '>'",
-                "titlePadding": 20,
+                "symbolStrokeColor": null,
                 "symbolStrokeWidth": 1,
-                "labelFontWeight": 600,
+                "titlePadding": 20
+            },
+            "type": "quantitative"
+        },
+        "size": {
+            "field": "Horsepower",
+            "legend": {
+                "cornerRadius": 5,
+                "fillColor": "pink",
+                "labelAlign": "right",
                 "labelBaseline": "top",
+                "labelColor": "fireBrick",
+                "labelExpr": "'<' + datum.label + '>'",
                 "labelFontSize": 20,
-                "labelAlign": "right",
+                "labelFontWeight": 600,
+                "labelOpacity": 0.6,
+                "labelOverlap": "greedy",
                 "padding": 30,
-                "strokeColor": "orange"
-            }
+                "rowPadding": 15,
+                "strokeColor": "orange",
+                "symbolLimit": 5,
+                "symbolStrokeColor": null,
+                "symbolStrokeWidth": 1,
+                "titlePadding": 20
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -84,5 +81,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/disablelegend.vl b/tests/specs/legend/disablelegend.vl
--- a/tests/specs/legend/disablelegend.vl
+++ b/tests/specs/legend/disablelegend.vl
@@ -1,29 +1,26 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {
             "disable": true
         }
     },
-    "mark": "circle",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative"
-        },
         "opacity": {
             "field": "Weight_in_lbs",
             "type": "quantitative"
         },
+        "size": {
+            "field": "Horsepower",
+            "type": "quantitative"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -32,5 +29,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend1.vl b/tests/specs/legend/legend1.vl
--- a/tests/specs/legend/legend1.vl
+++ b/tests/specs/legend/legend1.vl
@@ -1,27 +1,24 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {}
     },
-    "mark": "circle",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative"
-        },
         "opacity": {
             "field": "Weight_in_lbs",
             "type": "quantitative"
         },
+        "size": {
+            "field": "Horsepower",
+            "type": "quantitative"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -30,5 +27,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend10.vl b/tests/specs/legend/legend10.vl
--- a/tests/specs/legend/legend10.vl
+++ b/tests/specs/legend/legend10.vl
@@ -1,20 +1,17 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
-                "orient": "none",
+                "legendX": 232,
                 "legendY": 5,
-                "legendX": 232
-            }
+                "orient": "none"
+            },
+            "type": "nominal"
         },
         "x": {
             "field": "Horsepower",
@@ -24,5 +21,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend11.vl b/tests/specs/legend/legend11.vl
--- a/tests/specs/legend/legend11.vl
+++ b/tests/specs/legend/legend11.vl
@@ -1,41 +1,38 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {
-            "symbolStrokeColor": "black",
-            "strokeWidth": 5,
+            "padding": 30,
             "rowPadding": 15,
-            "titlePadding": 20,
-            "symbolStrokeWidth": 3,
+            "strokeColor": "lightgrey",
             "strokeDash": [
                 4,
                 2,
                 6,
                 1
             ],
-            "padding": 30,
-            "strokeColor": "lightgrey"
+            "strokeWidth": 5,
+            "symbolStrokeColor": "black",
+            "symbolStrokeWidth": 3,
+            "titlePadding": 20
         }
     },
-    "mark": "circle",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative"
-        },
         "opacity": {
             "field": "Weight_in_lbs",
             "type": "quantitative"
         },
+        "size": {
+            "field": "Horsepower",
+            "type": "quantitative"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -44,5 +41,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend11d.vl b/tests/specs/legend/legend11d.vl
--- a/tests/specs/legend/legend11d.vl
+++ b/tests/specs/legend/legend11d.vl
@@ -1,47 +1,44 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
-                "symbolStrokeColor": "black",
-                "rowPadding": 15,
-                "titlePadding": 20,
-                "symbolStrokeWidth": 3,
                 "padding": 30,
-                "strokeColor": "lightgrey"
-            }
-        },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
-            "legend": {
-                "symbolStrokeColor": "black",
                 "rowPadding": 15,
-                "titlePadding": 20,
+                "strokeColor": "lightgrey",
+                "symbolStrokeColor": "black",
                 "symbolStrokeWidth": 3,
-                "padding": 30,
-                "strokeColor": "lightgrey"
-            }
+                "titlePadding": 20
+            },
+            "type": "nominal"
         },
         "opacity": {
             "field": "Weight_in_lbs",
-            "type": "quantitative",
             "legend": {
-                "symbolStrokeColor": "black",
+                "padding": 30,
                 "rowPadding": 15,
-                "titlePadding": 20,
+                "strokeColor": "lightgrey",
+                "symbolStrokeColor": "black",
                 "symbolStrokeWidth": 3,
+                "titlePadding": 20
+            },
+            "type": "quantitative"
+        },
+        "size": {
+            "field": "Horsepower",
+            "legend": {
                 "padding": 30,
-                "strokeColor": "lightgrey"
-            }
+                "rowPadding": 15,
+                "strokeColor": "lightgrey",
+                "symbolStrokeColor": "black",
+                "symbolStrokeWidth": 3,
+                "titlePadding": 20
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -51,5 +48,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend2.vl b/tests/specs/legend/legend2.vl
--- a/tests/specs/legend/legend2.vl
+++ b/tests/specs/legend/legend2.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "top"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "top"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "top"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend3.vl b/tests/specs/legend/legend3.vl
--- a/tests/specs/legend/legend3.vl
+++ b/tests/specs/legend/legend3.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "top-right"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "top-right"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "top-right"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend4.vl b/tests/specs/legend/legend4.vl
--- a/tests/specs/legend/legend4.vl
+++ b/tests/specs/legend/legend4.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "right"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "right"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "right"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend5.vl b/tests/specs/legend/legend5.vl
--- a/tests/specs/legend/legend5.vl
+++ b/tests/specs/legend/legend5.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "bottom-right"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "bottom-right"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "bottom-right"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend6.vl b/tests/specs/legend/legend6.vl
--- a/tests/specs/legend/legend6.vl
+++ b/tests/specs/legend/legend6.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "bottom"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "bottom"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "bottom"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend7.vl b/tests/specs/legend/legend7.vl
--- a/tests/specs/legend/legend7.vl
+++ b/tests/specs/legend/legend7.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "bottom-left"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "bottom-left"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "bottom-left"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend8.vl b/tests/specs/legend/legend8.vl
--- a/tests/specs/legend/legend8.vl
+++ b/tests/specs/legend/legend8.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "left"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "left"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "left"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/legend9.vl b/tests/specs/legend/legend9.vl
--- a/tests/specs/legend/legend9.vl
+++ b/tests/specs/legend/legend9.vl
@@ -1,32 +1,29 @@
 {
-    "height": 300,
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "orient": "top-left"
-            }
+            },
+            "type": "nominal"
         },
-        "size": {
-            "field": "Horsepower",
-            "type": "quantitative",
+        "opacity": {
+            "field": "Weight_in_lbs",
             "legend": {
                 "orient": "top-left"
-            }
+            },
+            "type": "quantitative"
         },
-        "opacity": {
-            "field": "Weight_in_lbs",
-            "type": "quantitative",
+        "size": {
+            "field": "Horsepower",
             "legend": {
                 "orient": "top-left"
-            }
+            },
+            "type": "quantitative"
         },
         "x": {
             "field": "Horsepower",
@@ -36,5 +33,8 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": "circle",
+    "width": 300
 }
diff --git a/tests/specs/legend/limits1.vl b/tests/specs/legend/limits1.vl
--- a/tests/specs/legend/limits1.vl
+++ b/tests/specs/legend/limits1.vl
@@ -1,48 +1,30 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {
             "symbolLimit": 1,
             "unselectedOpacity": 0.1
         }
     },
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "sel": {
-            "bind": {
-                "legend": "dblclick"
-            },
-            "type": "multi",
-            "on": "click",
-            "fields": [
-                "Origin"
-            ]
-        }
-    },
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "value": 20,
-            "condition": {
-                "value": 100,
-                "selection": "sel"
-            }
-        },
         "shape": {
             "field": "Origin",
             "type": "nominal"
         },
+        "size": {
+            "condition": {
+                "selection": "sel",
+                "value": 100
+            },
+            "value": 20
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -51,5 +33,23 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "selection": {
+        "sel": {
+            "bind": {
+                "legend": "dblclick"
+            },
+            "fields": [
+                "Origin"
+            ],
+            "on": "click",
+            "type": "multi"
+        }
+    },
+    "width": 300
 }
diff --git a/tests/specs/legend/limits2.vl b/tests/specs/legend/limits2.vl
--- a/tests/specs/legend/limits2.vl
+++ b/tests/specs/legend/limits2.vl
@@ -1,48 +1,30 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {
             "symbolLimit": 2,
             "unselectedOpacity": 0.1
         }
     },
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "sel": {
-            "bind": {
-                "legend": "dblclick"
-            },
-            "type": "multi",
-            "on": "click",
-            "fields": [
-                "Origin"
-            ]
-        }
-    },
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "value": 20,
-            "condition": {
-                "value": 100,
-                "selection": "sel"
-            }
-        },
         "shape": {
             "field": "Origin",
             "type": "nominal"
         },
+        "size": {
+            "condition": {
+                "selection": "sel",
+                "value": 100
+            },
+            "value": 20
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -51,5 +33,23 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "selection": {
+        "sel": {
+            "bind": {
+                "legend": "dblclick"
+            },
+            "fields": [
+                "Origin"
+            ],
+            "on": "click",
+            "type": "multi"
+        }
+    },
+    "width": 300
 }
diff --git a/tests/specs/legend/limits3.vl b/tests/specs/legend/limits3.vl
--- a/tests/specs/legend/limits3.vl
+++ b/tests/specs/legend/limits3.vl
@@ -1,48 +1,30 @@
 {
-    "height": 300,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "legend": {
             "symbolLimit": 3,
             "unselectedOpacity": 0.1
         }
     },
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "sel": {
-            "bind": {
-                "legend": "dblclick"
-            },
-            "type": "multi",
-            "on": "click",
-            "fields": [
-                "Origin"
-            ]
-        }
-    },
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "value": 20,
-            "condition": {
-                "value": 100,
-                "selection": "sel"
-            }
-        },
         "shape": {
             "field": "Origin",
             "type": "nominal"
         },
+        "size": {
+            "condition": {
+                "selection": "sel",
+                "value": 100
+            },
+            "value": 20
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -51,5 +33,23 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 300,
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "selection": {
+        "sel": {
+            "bind": {
+                "legend": "dblclick"
+            },
+            "fields": [
+                "Origin"
+            ],
+            "on": "click",
+            "type": "multi"
+        }
+    },
+    "width": 300
 }
diff --git a/tests/specs/null/axis1.vl b/tests/specs/null/axis1.vl
--- a/tests/specs/null/axis1.vl
+++ b/tests/specs/null/axis1.vl
@@ -1,54 +1,54 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "x": 0,
                 "order": 1,
+                "x": 0,
                 "y": 1000
             },
             {
-                "x": 1000,
                 "order": 2,
+                "x": 1000,
                 "y": 1000
             },
             {
-                "x": 1000,
                 "order": 3,
+                "x": 1000,
                 "y": 0
             },
             {
-                "x": 0,
                 "order": 4,
+                "x": 0,
                 "y": 0
             },
             {
-                "x": 0,
                 "order": 5,
+                "x": 0,
                 "y": 1000
             },
             {
-                "x": 1000,
                 "order": 6,
+                "x": 1000,
                 "y": 0
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "x": {
-            "field": "x",
-            "type": "quantitative",
-            "axis": null
-        },
         "order": {
             "field": "order",
             "type": "ordinal"
         },
+        "x": {
+            "axis": null,
+            "field": "x",
+            "type": "quantitative"
+        },
         "y": {
+            "axis": null,
             "field": "y",
-            "type": "quantitative",
-            "axis": null
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/null/filter1.vl b/tests/specs/null/filter1.vl
--- a/tests/specs/null/filter1.vl
+++ b/tests/specs/null/filter1.vl
@@ -1,21 +1,20 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "mark": {
             "invalid": null
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "value": "rgb(76,120,168)",
             "condition": {
-                "value": "#ddd",
-                "test": "datum.IMDB_Rating === null || datum.Rotten_Tomatoes_Rating === null"
-            }
+                "test": "datum.IMDB_Rating === null || datum.Rotten_Tomatoes_Rating === null",
+                "value": "#ddd"
+            },
+            "value": "rgb(76,120,168)"
         },
         "x": {
             "field": "IMDB_Rating",
@@ -25,5 +24,6 @@
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/null/filter2.vl b/tests/specs/null/filter2.vl
--- a/tests/specs/null/filter2.vl
+++ b/tests/specs/null/filter2.vl
@@ -1,35 +1,20 @@
 {
-    "transform": [
-        {
-            "filter": {
-                "field": "IMDB_Rating",
-                "valid": true
-            }
-        },
-        {
-            "filter": {
-                "field": "Rotten_Tomatoes_Rating",
-                "valid": true
-            }
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "mark": {
             "invalid": "filter"
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "value": "rgb(76,120,168)",
             "condition": {
-                "value": "#ddd",
-                "test": "datum.IMDB_Rating === null || datum.Rotten_Tomatoes_Rating === null"
-            }
+                "test": "datum.IMDB_Rating === null || datum.Rotten_Tomatoes_Rating === null",
+                "value": "#ddd"
+            },
+            "value": "rgb(76,120,168)"
         },
         "x": {
             "field": "IMDB_Rating",
@@ -39,5 +24,20 @@
             "field": "Rotten_Tomatoes_Rating",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point",
+    "transform": [
+        {
+            "filter": {
+                "field": "IMDB_Rating",
+                "valid": true
+            }
+        },
+        {
+            "filter": {
+                "field": "Rotten_Tomatoes_Rating",
+                "valid": true
+            }
+        }
+    ]
 }
diff --git a/tests/specs/null/scale0.vl b/tests/specs/null/scale0.vl
--- a/tests/specs/null/scale0.vl
+++ b/tests/specs/null/scale0.vl
@@ -1,85 +1,82 @@
 {
-    "height": 400,
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 40,
                 "val": 4,
+                "x": 40,
                 "y": 4
             },
             {
                 "cat": "e",
-                "x": 50,
                 "val": 5,
+                "x": 50,
                 "y": 5
             },
             {
                 "cat": "f",
-                "x": 60,
                 "val": 6,
+                "x": 60,
                 "y": 6
             },
             {
                 "cat": "g",
-                "x": 70,
                 "val": 7,
+                "x": 70,
                 "y": 7
             },
             {
                 "cat": "h",
-                "x": 80,
                 "val": 8,
+                "x": 80,
                 "y": 8
             },
             {
                 "cat": "i",
-                "x": 90,
                 "val": 9,
+                "x": 90,
                 "y": 9
             },
             {
                 "cat": "j",
-                "x": 100,
                 "val": 10,
+                "x": 100,
                 "y": 10
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "val",
             "type": "ordinal"
         },
-        "size": {
-            "field": "val",
-            "type": "quantitative"
-        },
         "shape": {
             "field": "cat",
             "type": "nominal"
         },
+        "size": {
+            "field": "val",
+            "type": "quantitative"
+        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -88,5 +85,8 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "point",
+    "width": 400
 }
diff --git a/tests/specs/null/scale1.vl b/tests/specs/null/scale1.vl
--- a/tests/specs/null/scale1.vl
+++ b/tests/specs/null/scale1.vl
@@ -1,85 +1,82 @@
 {
-    "height": 400,
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 40,
                 "val": 4,
+                "x": 40,
                 "y": 4
             },
             {
                 "cat": "e",
-                "x": 50,
                 "val": 5,
+                "x": 50,
                 "y": 5
             },
             {
                 "cat": "f",
-                "x": 60,
                 "val": 6,
+                "x": 60,
                 "y": 6
             },
             {
                 "cat": "g",
-                "x": 70,
                 "val": 7,
+                "x": 70,
                 "y": 7
             },
             {
                 "cat": "h",
-                "x": 80,
                 "val": 8,
+                "x": 80,
                 "y": 8
             },
             {
                 "cat": "i",
-                "x": 90,
                 "val": 9,
+                "x": 90,
                 "y": 9
             },
             {
                 "cat": "j",
-                "x": 100,
                 "val": 10,
+                "x": 100,
                 "y": 10
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "val",
             "type": "ordinal"
         },
-        "size": {
-            "field": "val",
-            "type": "quantitative"
-        },
         "shape": {
             "field": "cat",
             "type": "nominal"
         },
+        "size": {
+            "field": "val",
+            "type": "quantitative"
+        },
         "x": {
             "field": "x",
             "scale": null,
@@ -89,5 +86,8 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "point",
+    "width": 400
 }
diff --git a/tests/specs/null/scale2.vl b/tests/specs/null/scale2.vl
--- a/tests/specs/null/scale2.vl
+++ b/tests/specs/null/scale2.vl
@@ -1,85 +1,82 @@
 {
-    "height": 400,
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 40,
                 "val": 4,
+                "x": 40,
                 "y": 4
             },
             {
                 "cat": "e",
-                "x": 50,
                 "val": 5,
+                "x": 50,
                 "y": 5
             },
             {
                 "cat": "f",
-                "x": 60,
                 "val": 6,
+                "x": 60,
                 "y": 6
             },
             {
                 "cat": "g",
-                "x": 70,
                 "val": 7,
+                "x": 70,
                 "y": 7
             },
             {
                 "cat": "h",
-                "x": 80,
                 "val": 8,
+                "x": 80,
                 "y": 8
             },
             {
                 "cat": "i",
-                "x": 90,
                 "val": 9,
+                "x": 90,
                 "y": 9
             },
             {
                 "cat": "j",
-                "x": 100,
                 "val": 10,
+                "x": 100,
                 "y": 10
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "val",
             "type": "ordinal"
         },
-        "size": {
-            "field": "val",
-            "type": "quantitative"
-        },
         "shape": {
             "field": "cat",
             "type": "nominal"
         },
+        "size": {
+            "field": "val",
+            "type": "quantitative"
+        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -89,5 +86,8 @@
             "scale": null,
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "point",
+    "width": 400
 }
diff --git a/tests/specs/null/scale3.vl b/tests/specs/null/scale3.vl
--- a/tests/specs/null/scale3.vl
+++ b/tests/specs/null/scale3.vl
@@ -1,86 +1,83 @@
 {
-    "height": 400,
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 40,
                 "val": 4,
+                "x": 40,
                 "y": 4
             },
             {
                 "cat": "e",
-                "x": 50,
                 "val": 5,
+                "x": 50,
                 "y": 5
             },
             {
                 "cat": "f",
-                "x": 60,
                 "val": 6,
+                "x": 60,
                 "y": 6
             },
             {
                 "cat": "g",
-                "x": 70,
                 "val": 7,
+                "x": 70,
                 "y": 7
             },
             {
                 "cat": "h",
-                "x": 80,
                 "val": 8,
+                "x": 80,
                 "y": 8
             },
             {
                 "cat": "i",
-                "x": 90,
                 "val": 9,
+                "x": 90,
                 "y": 9
             },
             {
                 "cat": "j",
-                "x": 100,
                 "val": 10,
+                "x": 100,
                 "y": 10
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "val",
             "scale": null,
             "type": "ordinal"
         },
-        "size": {
-            "field": "val",
-            "type": "quantitative"
-        },
         "shape": {
             "field": "cat",
             "type": "nominal"
         },
+        "size": {
+            "field": "val",
+            "type": "quantitative"
+        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -89,5 +86,8 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "point",
+    "width": 400
 }
diff --git a/tests/specs/null/scale4.vl b/tests/specs/null/scale4.vl
--- a/tests/specs/null/scale4.vl
+++ b/tests/specs/null/scale4.vl
@@ -1,86 +1,83 @@
 {
-    "height": 400,
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 40,
                 "val": 4,
+                "x": 40,
                 "y": 4
             },
             {
                 "cat": "e",
-                "x": 50,
                 "val": 5,
+                "x": 50,
                 "y": 5
             },
             {
                 "cat": "f",
-                "x": 60,
                 "val": 6,
+                "x": 60,
                 "y": 6
             },
             {
                 "cat": "g",
-                "x": 70,
                 "val": 7,
+                "x": 70,
                 "y": 7
             },
             {
                 "cat": "h",
-                "x": 80,
                 "val": 8,
+                "x": 80,
                 "y": 8
             },
             {
                 "cat": "i",
-                "x": 90,
                 "val": 9,
+                "x": 90,
                 "y": 9
             },
             {
                 "cat": "j",
-                "x": 100,
                 "val": 10,
+                "x": 100,
                 "y": 10
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "val",
             "type": "ordinal"
         },
+        "shape": {
+            "field": "cat",
+            "type": "nominal"
+        },
         "size": {
             "field": "val",
             "scale": null,
             "type": "quantitative"
         },
-        "shape": {
-            "field": "cat",
-            "type": "nominal"
-        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -89,5 +86,8 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "point",
+    "width": 400
 }
diff --git a/tests/specs/null/scale5.vl b/tests/specs/null/scale5.vl
--- a/tests/specs/null/scale5.vl
+++ b/tests/specs/null/scale5.vl
@@ -1,86 +1,83 @@
 {
-    "height": 400,
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
                 "cat": "a",
-                "x": 10,
                 "val": 1,
+                "x": 10,
                 "y": 1
             },
             {
                 "cat": "b",
-                "x": 20,
                 "val": 2,
+                "x": 20,
                 "y": 2
             },
             {
                 "cat": "c",
-                "x": 30,
                 "val": 3,
+                "x": 30,
                 "y": 3
             },
             {
                 "cat": "d",
-                "x": 40,
                 "val": 4,
+                "x": 40,
                 "y": 4
             },
             {
                 "cat": "e",
-                "x": 50,
                 "val": 5,
+                "x": 50,
                 "y": 5
             },
             {
                 "cat": "f",
-                "x": 60,
                 "val": 6,
+                "x": 60,
                 "y": 6
             },
             {
                 "cat": "g",
-                "x": 70,
                 "val": 7,
+                "x": 70,
                 "y": 7
             },
             {
                 "cat": "h",
-                "x": 80,
                 "val": 8,
+                "x": 80,
                 "y": 8
             },
             {
                 "cat": "i",
-                "x": 90,
                 "val": 9,
+                "x": 90,
                 "y": 9
             },
             {
                 "cat": "j",
-                "x": 100,
                 "val": 10,
+                "x": 100,
                 "y": 10
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "val",
             "type": "ordinal"
         },
-        "size": {
-            "field": "val",
-            "type": "quantitative"
-        },
         "shape": {
             "field": "cat",
             "scale": null,
             "type": "nominal"
         },
+        "size": {
+            "field": "val",
+            "type": "quantitative"
+        },
         "x": {
             "field": "x",
             "type": "quantitative"
@@ -89,5 +86,8 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "point",
+    "width": 400
 }
diff --git a/tests/specs/position/position1.vl b/tests/specs/position/position1.vl
--- a/tests/specs/position/position1.vl
+++ b/tests/specs/position/position1.vl
@@ -1,10 +1,5 @@
 {
-    "mark": {
-        "size": 200,
-        "x": 150,
-        "type": "circle",
-        "y": 150
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -12,5 +7,10 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "mark": {
+        "size": 200,
+        "type": "circle",
+        "x": 150,
+        "y": 150
+    }
 }
diff --git a/tests/specs/position/position10.vl b/tests/specs/position/position10.vl
--- a/tests/specs/position/position10.vl
+++ b/tests/specs/position/position10.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
-                "align": 0.5
+                "align": 0.5,
+                "paddingInner": 0.5
             },
             "type": "ordinal"
         },
@@ -40,5 +38,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position10r.vl b/tests/specs/position/position10r.vl
--- a/tests/specs/position/position10r.vl
+++ b/tests/specs/position/position10r.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
                 "align": 0.5,
+                "paddingInner": 0.5,
                 "reverse": true
             },
             "type": "ordinal"
@@ -41,5 +39,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position11.vl b/tests/specs/position/position11.vl
--- a/tests/specs/position/position11.vl
+++ b/tests/specs/position/position11.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
-                "align": 0.7
+                "align": 0.7,
+                "paddingInner": 0.5
             },
             "type": "ordinal"
         },
@@ -40,5 +38,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position11r.vl b/tests/specs/position/position11r.vl
--- a/tests/specs/position/position11r.vl
+++ b/tests/specs/position/position11r.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
                 "align": 0.7,
+                "paddingInner": 0.5,
                 "reverse": true
             },
             "type": "ordinal"
@@ -41,5 +39,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position12.vl b/tests/specs/position/position12.vl
--- a/tests/specs/position/position12.vl
+++ b/tests/specs/position/position12.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
-                "align": 1
+                "align": 1,
+                "paddingInner": 0.5
             },
             "type": "ordinal"
         },
@@ -40,5 +38,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position12r.vl b/tests/specs/position/position12r.vl
--- a/tests/specs/position/position12r.vl
+++ b/tests/specs/position/position12r.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
                 "align": 1,
+                "paddingInner": 0.5,
                 "reverse": true
             },
             "type": "ordinal"
@@ -41,5 +39,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position2.vl b/tests/specs/position/position2.vl
--- a/tests/specs/position/position2.vl
+++ b/tests/specs/position/position2.vl
@@ -1,9 +1,5 @@
 {
-    "mark": {
-        "x": 150,
-        "type": "bar",
-        "y": 150
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -11,5 +7,9 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "mark": {
+        "type": "bar",
+        "x": 150,
+        "y": 150
+    }
 }
diff --git a/tests/specs/position/position3.vl b/tests/specs/position/position3.vl
--- a/tests/specs/position/position3.vl
+++ b/tests/specs/position/position3.vl
@@ -1,10 +1,5 @@
 {
-    "mark": {
-        "x2": 200,
-        "x": 150,
-        "type": "bar",
-        "y": 150
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -12,5 +7,10 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "mark": {
+        "type": "bar",
+        "x": 150,
+        "x2": 200,
+        "y": 150
+    }
 }
diff --git a/tests/specs/position/position4.vl b/tests/specs/position/position4.vl
--- a/tests/specs/position/position4.vl
+++ b/tests/specs/position/position4.vl
@@ -1,10 +1,5 @@
 {
-    "mark": {
-        "x": 150,
-        "type": "bar",
-        "y2": 200,
-        "y": 150
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -12,5 +7,10 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "mark": {
+        "type": "bar",
+        "x": 150,
+        "y": 150,
+        "y2": 200
+    }
 }
diff --git a/tests/specs/position/position5.vl b/tests/specs/position/position5.vl
--- a/tests/specs/position/position5.vl
+++ b/tests/specs/position/position5.vl
@@ -1,11 +1,5 @@
 {
-    "mark": {
-        "x2": 200,
-        "x": 150,
-        "type": "bar",
-        "y2": 200,
-        "y": 150
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -13,5 +7,11 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+    "mark": {
+        "type": "bar",
+        "x": 150,
+        "x2": 200,
+        "y": 150,
+        "y2": 200
+    }
 }
diff --git a/tests/specs/position/position6.vl b/tests/specs/position/position6.vl
--- a/tests/specs/position/position6.vl
+++ b/tests/specs/position/position6.vl
@@ -1,13 +1,10 @@
 {
-    "mark": {
-        "width": 20,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -28,8 +25,6 @@
             }
         ]
     },
-    "width": 300,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
@@ -39,5 +34,10 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "type": "bar",
+        "width": 20
+    },
+    "width": 300
 }
diff --git a/tests/specs/position/position7.vl b/tests/specs/position/position7.vl
--- a/tests/specs/position/position7.vl
+++ b/tests/specs/position/position7.vl
@@ -1,14 +1,10 @@
 {
-    "height": 300,
-    "mark": {
-        "height": 20,
-        "type": "bar"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -29,7 +25,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "val",
@@ -39,5 +34,10 @@
             "field": "cat",
             "type": "ordinal"
         }
+    },
+    "height": 300,
+    "mark": {
+        "height": 20,
+        "type": "bar"
     }
 }
diff --git a/tests/specs/position/position8.vl b/tests/specs/position/position8.vl
--- a/tests/specs/position/position8.vl
+++ b/tests/specs/position/position8.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
-                "align": 0
+                "align": 0,
+                "paddingInner": 0.5
             },
             "type": "ordinal"
         },
@@ -40,5 +38,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position8r.vl b/tests/specs/position/position8r.vl
--- a/tests/specs/position/position8r.vl
+++ b/tests/specs/position/position8r.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
                 "align": 0,
+                "paddingInner": 0.5,
                 "reverse": true
             },
             "type": "ordinal"
@@ -41,5 +39,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position9.vl b/tests/specs/position/position9.vl
--- a/tests/specs/position/position9.vl
+++ b/tests/specs/position/position9.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
-                "align": 0.3
+                "align": 0.3,
+                "paddingInner": 0.5
             },
             "type": "ordinal"
         },
@@ -40,5 +38,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/position/position9r.vl b/tests/specs/position/position9r.vl
--- a/tests/specs/position/position9r.vl
+++ b/tests/specs/position/position9r.vl
@@ -1,10 +1,10 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "empty": 0,
                 "cat": 1,
+                "empty": 0,
                 "val": 10
             },
             {
@@ -25,14 +25,12 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "cat",
             "scale": {
-                "paddingInner": 0.5,
                 "align": 0.3,
+                "paddingInner": 0.5,
                 "reverse": true
             },
             "type": "ordinal"
@@ -41,5 +39,7 @@
             "field": "val",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "width": 400
 }
diff --git a/tests/specs/projection/Albers.vl b/tests/specs/projection/Albers.vl
--- a/tests/specs/projection/Albers.vl
+++ b/tests/specs/projection/Albers.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "albers"
     },
     "title": "Albers",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/AzimuthalEqualArea.vl b/tests/specs/projection/AzimuthalEqualArea.vl
--- a/tests/specs/projection/AzimuthalEqualArea.vl
+++ b/tests/specs/projection/AzimuthalEqualArea.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "azimuthalEqualArea"
     },
     "title": "AzimuthalEqualArea",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/AzimuthalEquidistant.vl b/tests/specs/projection/AzimuthalEquidistant.vl
--- a/tests/specs/projection/AzimuthalEquidistant.vl
+++ b/tests/specs/projection/AzimuthalEquidistant.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "azimuthalEquidistant"
     },
     "title": "AzimuthalEquidistant",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/ConicConformal.vl b/tests/specs/projection/ConicConformal.vl
--- a/tests/specs/projection/ConicConformal.vl
+++ b/tests/specs/projection/ConicConformal.vl
@@ -1,24 +1,24 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 65,
         "type": "conicConformal"
     },
     "title": "ConicConformal",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/ConicEqualArea.vl b/tests/specs/projection/ConicEqualArea.vl
--- a/tests/specs/projection/ConicEqualArea.vl
+++ b/tests/specs/projection/ConicEqualArea.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "conicEqualarea"
     },
     "title": "ConicEqualArea",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/ConicEquidistant.vl b/tests/specs/projection/ConicEquidistant.vl
--- a/tests/specs/projection/ConicEquidistant.vl
+++ b/tests/specs/projection/ConicEquidistant.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "conicEquidistant"
     },
     "title": "ConicEquidistant",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/EqualEarth.vl b/tests/specs/projection/EqualEarth.vl
--- a/tests/specs/projection/EqualEarth.vl
+++ b/tests/specs/projection/EqualEarth.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "equalEarth"
     },
     "title": "EqualEarth",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/Equirectangular.vl b/tests/specs/projection/Equirectangular.vl
--- a/tests/specs/projection/Equirectangular.vl
+++ b/tests/specs/projection/Equirectangular.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "equirectangular"
     },
     "title": "Equirectangular",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/Gnomonic.vl b/tests/specs/projection/Gnomonic.vl
--- a/tests/specs/projection/Gnomonic.vl
+++ b/tests/specs/projection/Gnomonic.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "gnomonic"
     },
     "title": "Gnomonic",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/Identity.vl b/tests/specs/projection/Identity.vl
--- a/tests/specs/projection/Identity.vl
+++ b/tests/specs/projection/Identity.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "identity"
     },
     "title": "Identity",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/Mercator.vl b/tests/specs/projection/Mercator.vl
--- a/tests/specs/projection/Mercator.vl
+++ b/tests/specs/projection/Mercator.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "mercator"
     },
     "title": "Mercator",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/NaturalEarth1.vl b/tests/specs/projection/NaturalEarth1.vl
--- a/tests/specs/projection/NaturalEarth1.vl
+++ b/tests/specs/projection/NaturalEarth1.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "naturalEarth1"
     },
     "title": "NaturalEarth1",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/Orthographic.vl b/tests/specs/projection/Orthographic.vl
--- a/tests/specs/projection/Orthographic.vl
+++ b/tests/specs/projection/Orthographic.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "orthographic"
     },
     "title": "Orthographic",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/Stereographic.vl b/tests/specs/projection/Stereographic.vl
--- a/tests/specs/projection/Stereographic.vl
+++ b/tests/specs/projection/Stereographic.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "stereographic"
     },
     "title": "Stereographic",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/TransverseMercator.vl b/tests/specs/projection/TransverseMercator.vl
--- a/tests/specs/projection/TransverseMercator.vl
+++ b/tests/specs/projection/TransverseMercator.vl
@@ -1,23 +1,23 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "type": "transverseMercator"
     },
     "title": "TransverseMercator",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/airy.vl b/tests/specs/projection/airy.vl
--- a/tests/specs/projection/airy.vl
+++ b/tests/specs/projection/airy.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "airy",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "airy"
     },
     "title": "airy",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/aitoff.vl b/tests/specs/projection/aitoff.vl
--- a/tests/specs/projection/aitoff.vl
+++ b/tests/specs/projection/aitoff.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "aitoff",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "aitoff"
     },
     "title": "aitoff",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/armadillo.vl b/tests/specs/projection/armadillo.vl
--- a/tests/specs/projection/armadillo.vl
+++ b/tests/specs/projection/armadillo.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "armadillo",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "armadillo"
     },
     "title": "armadillo",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/august.vl b/tests/specs/projection/august.vl
--- a/tests/specs/projection/august.vl
+++ b/tests/specs/projection/august.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "august",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "august"
     },
     "title": "august",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/baker.vl b/tests/specs/projection/baker.vl
--- a/tests/specs/projection/baker.vl
+++ b/tests/specs/projection/baker.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "baker",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "baker"
     },
     "title": "baker",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/berghaus.vl b/tests/specs/projection/berghaus.vl
--- a/tests/specs/projection/berghaus.vl
+++ b/tests/specs/projection/berghaus.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "berghaus",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "berghaus"
     },
     "title": "berghaus",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/bertin1953.vl b/tests/specs/projection/bertin1953.vl
--- a/tests/specs/projection/bertin1953.vl
+++ b/tests/specs/projection/bertin1953.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "bertin1953",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "bertin1953"
     },
     "title": "bertin1953",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/boggs.vl b/tests/specs/projection/boggs.vl
--- a/tests/specs/projection/boggs.vl
+++ b/tests/specs/projection/boggs.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "boggs",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "boggs"
     },
     "title": "boggs",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/bonne.vl b/tests/specs/projection/bonne.vl
--- a/tests/specs/projection/bonne.vl
+++ b/tests/specs/projection/bonne.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "bonne",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "bonne"
     },
     "title": "bonne",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/bottomley.vl b/tests/specs/projection/bottomley.vl
--- a/tests/specs/projection/bottomley.vl
+++ b/tests/specs/projection/bottomley.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "bottomley",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "bottomley"
     },
     "title": "bottomley",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/collignon.vl b/tests/specs/projection/collignon.vl
--- a/tests/specs/projection/collignon.vl
+++ b/tests/specs/projection/collignon.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "collignon",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "collignon"
     },
     "title": "collignon",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/configExample.vl b/tests/specs/projection/configExample.vl
--- a/tests/specs/projection/configExample.vl
+++ b/tests/specs/projection/configExample.vl
@@ -1,71 +1,71 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "autosize": {
             "type": "fit"
         },
-        "view": {
-            "continuousHeight": 300,
-            "continuousWidth": 500,
-            "stroke": null
-        },
+        "background": "rgb(251,247,238)",
         "projection": {
-            "type": "orthographic",
             "rotate": [
                 0,
                 0,
                 0
-            ]
+            ],
+            "type": "orthographic"
         },
         "title": {
-            "fontSize": 18,
             "font": "Roboto",
+            "fontSize": 18,
             "fontWeight": 600
         },
-        "background": "rgb(251,247,238)"
+        "view": {
+            "continuousHeight": 300,
+            "continuousWidth": 500,
+            "stroke": null
+        }
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "title": "Hello, World!",
     "layer": [
         {
-            "mark": {
-                "color": "#c1e7f5",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "data/globe.json",
                 "format": {
                     "feature": "globe",
                     "type": "topojson"
-                }
+                },
+                "url": "data/globe.json"
+            },
+            "mark": {
+                "color": "#c1e7f5",
+                "type": "geoshape"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.1,
-                "stroke": "#411",
-                "type": "geoshape",
-                "fillOpacity": 1.0e-2
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
+            },
+            "mark": {
+                "fillOpacity": 1.0e-2,
+                "stroke": "#411",
+                "strokeWidth": 0.1,
+                "type": "geoshape"
             }
         },
         {
-            "mark": {
-                "color": "#708E71",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                 "format": {
                     "feature": "countries",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/world-110m.json"
+            },
+            "mark": {
+                "color": "#708E71",
+                "type": "geoshape"
             }
         }
-    ]
+    ],
+    "title": "Hello, World!"
 }
diff --git a/tests/specs/projection/craig.vl b/tests/specs/projection/craig.vl
--- a/tests/specs/projection/craig.vl
+++ b/tests/specs/projection/craig.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "craig",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "craig"
     },
     "title": "craig",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/craster.vl b/tests/specs/projection/craster.vl
--- a/tests/specs/projection/craster.vl
+++ b/tests/specs/projection/craster.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "craster",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "craster"
     },
     "title": "craster",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/cylindricalequalarea.vl b/tests/specs/projection/cylindricalequalarea.vl
--- a/tests/specs/projection/cylindricalequalarea.vl
+++ b/tests/specs/projection/cylindricalequalarea.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "cylindricalequalarea",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "cylindricalequalarea"
     },
     "title": "cylindricalequalarea",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/cylindricalstereographic.vl b/tests/specs/projection/cylindricalstereographic.vl
--- a/tests/specs/projection/cylindricalstereographic.vl
+++ b/tests/specs/projection/cylindricalstereographic.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "cylindricalstereographic",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "cylindricalstereographic"
     },
     "title": "cylindricalstereographic",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eckert1.vl b/tests/specs/projection/eckert1.vl
--- a/tests/specs/projection/eckert1.vl
+++ b/tests/specs/projection/eckert1.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eckert1",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eckert1"
     },
     "title": "eckert1",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eckert2.vl b/tests/specs/projection/eckert2.vl
--- a/tests/specs/projection/eckert2.vl
+++ b/tests/specs/projection/eckert2.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eckert2",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eckert2"
     },
     "title": "eckert2",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eckert3.vl b/tests/specs/projection/eckert3.vl
--- a/tests/specs/projection/eckert3.vl
+++ b/tests/specs/projection/eckert3.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eckert3",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eckert3"
     },
     "title": "eckert3",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eckert4.vl b/tests/specs/projection/eckert4.vl
--- a/tests/specs/projection/eckert4.vl
+++ b/tests/specs/projection/eckert4.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eckert4",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eckert4"
     },
     "title": "eckert4",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eckert5.vl b/tests/specs/projection/eckert5.vl
--- a/tests/specs/projection/eckert5.vl
+++ b/tests/specs/projection/eckert5.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eckert5",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eckert5"
     },
     "title": "eckert5",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eckert6.vl b/tests/specs/projection/eckert6.vl
--- a/tests/specs/projection/eckert6.vl
+++ b/tests/specs/projection/eckert6.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eckert6",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eckert6"
     },
     "title": "eckert6",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/eisenlohr.vl b/tests/specs/projection/eisenlohr.vl
--- a/tests/specs/projection/eisenlohr.vl
+++ b/tests/specs/projection/eisenlohr.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "eisenlohr",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "eisenlohr"
     },
     "title": "eisenlohr",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/fahey.vl b/tests/specs/projection/fahey.vl
--- a/tests/specs/projection/fahey.vl
+++ b/tests/specs/projection/fahey.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "fahey",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "fahey"
     },
     "title": "fahey",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/foucaut.vl b/tests/specs/projection/foucaut.vl
--- a/tests/specs/projection/foucaut.vl
+++ b/tests/specs/projection/foucaut.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "foucaut",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "foucaut"
     },
     "title": "foucaut",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/gingery.vl b/tests/specs/projection/gingery.vl
--- a/tests/specs/projection/gingery.vl
+++ b/tests/specs/projection/gingery.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "gingery",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "gingery"
     },
     "title": "gingery",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/projection/identityExample.vl b/tests/specs/projection/identityExample.vl
--- a/tests/specs/projection/identityExample.vl
+++ b/tests/specs/projection/identityExample.vl
@@ -1,63 +1,63 @@
 {
-    "height": 250,
-    "width": 500,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 250,
     "layer": [
         {
-            "mark": {
-                "color": "#c1e7f5",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "data/globe.json",
                 "format": {
                     "feature": "globe",
                     "type": "topojson"
-                }
+                },
+                "url": "data/globe.json"
             },
+            "mark": {
+                "color": "#c1e7f5",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": false,
                 "reflectX": false,
+                "reflectY": false,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.1,
-                "stroke": "#411",
-                "type": "geoshape",
-                "fillOpacity": 1.0e-2
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
+            "mark": {
+                "fillOpacity": 1.0e-2,
+                "stroke": "#411",
+                "strokeWidth": 0.1,
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": false,
                 "reflectX": false,
+                "reflectY": false,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "color": "#708E71",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                 "format": {
                     "feature": "countries",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/world-110m.json"
             },
+            "mark": {
+                "color": "#708E71",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": false,
                 "reflectX": false,
+                "reflectY": false,
                 "type": "identity"
             }
         }
-    ]
+    ],
+    "width": 500
 }
diff --git a/tests/specs/projection/reflectXExample.vl b/tests/specs/projection/reflectXExample.vl
--- a/tests/specs/projection/reflectXExample.vl
+++ b/tests/specs/projection/reflectXExample.vl
@@ -1,63 +1,63 @@
 {
-    "height": 250,
-    "width": 500,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 250,
     "layer": [
         {
-            "mark": {
-                "color": "#c1e7f5",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "data/globe.json",
                 "format": {
                     "feature": "globe",
                     "type": "topojson"
-                }
+                },
+                "url": "data/globe.json"
             },
+            "mark": {
+                "color": "#c1e7f5",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": false,
                 "reflectX": true,
+                "reflectY": false,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.1,
-                "stroke": "#411",
-                "type": "geoshape",
-                "fillOpacity": 1.0e-2
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
+            "mark": {
+                "fillOpacity": 1.0e-2,
+                "stroke": "#411",
+                "strokeWidth": 0.1,
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": false,
                 "reflectX": true,
+                "reflectY": false,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "color": "#708E71",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                 "format": {
                     "feature": "countries",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/world-110m.json"
             },
+            "mark": {
+                "color": "#708E71",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": false,
                 "reflectX": true,
+                "reflectY": false,
                 "type": "identity"
             }
         }
-    ]
+    ],
+    "width": 500
 }
diff --git a/tests/specs/projection/reflectXYExample.vl b/tests/specs/projection/reflectXYExample.vl
--- a/tests/specs/projection/reflectXYExample.vl
+++ b/tests/specs/projection/reflectXYExample.vl
@@ -1,63 +1,63 @@
 {
-    "height": 250,
-    "width": 500,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 250,
     "layer": [
         {
-            "mark": {
-                "color": "#c1e7f5",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "data/globe.json",
                 "format": {
                     "feature": "globe",
                     "type": "topojson"
-                }
+                },
+                "url": "data/globe.json"
             },
+            "mark": {
+                "color": "#c1e7f5",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": true,
                 "reflectX": true,
+                "reflectY": true,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.1,
-                "stroke": "#411",
-                "type": "geoshape",
-                "fillOpacity": 1.0e-2
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
+            "mark": {
+                "fillOpacity": 1.0e-2,
+                "stroke": "#411",
+                "strokeWidth": 0.1,
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": true,
                 "reflectX": true,
+                "reflectY": true,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "color": "#708E71",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                 "format": {
                     "feature": "countries",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/world-110m.json"
             },
+            "mark": {
+                "color": "#708E71",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": true,
                 "reflectX": true,
+                "reflectY": true,
                 "type": "identity"
             }
         }
-    ]
+    ],
+    "width": 500
 }
diff --git a/tests/specs/projection/reflectYExample.vl b/tests/specs/projection/reflectYExample.vl
--- a/tests/specs/projection/reflectYExample.vl
+++ b/tests/specs/projection/reflectYExample.vl
@@ -1,63 +1,63 @@
 {
-    "height": 250,
-    "width": 500,
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 250,
     "layer": [
         {
-            "mark": {
-                "color": "#c1e7f5",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "data/globe.json",
                 "format": {
                     "feature": "globe",
                     "type": "topojson"
-                }
+                },
+                "url": "data/globe.json"
             },
+            "mark": {
+                "color": "#c1e7f5",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": true,
                 "reflectX": false,
+                "reflectY": true,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "strokeWidth": 0.1,
-                "stroke": "#411",
-                "type": "geoshape",
-                "fillOpacity": 1.0e-2
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/graticule.json",
                 "format": {
                     "feature": "graticule",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/graticule.json"
             },
+            "mark": {
+                "fillOpacity": 1.0e-2,
+                "stroke": "#411",
+                "strokeWidth": 0.1,
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": true,
                 "reflectX": false,
+                "reflectY": true,
                 "type": "identity"
             }
         },
         {
-            "mark": {
-                "color": "#708E71",
-                "type": "geoshape"
-            },
             "data": {
-                "url": "https://vega.github.io/vega-lite/data/world-110m.json",
                 "format": {
                     "feature": "countries",
                     "type": "topojson"
-                }
+                },
+                "url": "https://vega.github.io/vega-lite/data/world-110m.json"
             },
+            "mark": {
+                "color": "#708E71",
+                "type": "geoshape"
+            },
             "projection": {
-                "reflectY": true,
                 "reflectX": false,
+                "reflectY": true,
                 "type": "identity"
             }
         }
-    ]
+    ],
+    "width": 500
 }
diff --git a/tests/specs/projection/winkel3.vl b/tests/specs/projection/winkel3.vl
--- a/tests/specs/projection/winkel3.vl
+++ b/tests/specs/projection/winkel3.vl
@@ -1,30 +1,30 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "stroke": "#411",
-        "type": "geoshape",
-        "fillOpacity": 1.0e-2
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "background": "#c1e7f5",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/graticule.json",
         "format": {
             "feature": "graticule",
             "type": "topojson"
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/graticule.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 300,
+    "mark": {
+        "fillOpacity": 1.0e-2,
+        "stroke": "#411",
+        "strokeWidth": 0.5,
+        "type": "geoshape"
+    },
     "projection": {
         "clipAngle": 179.999,
         "precision": 0.1,
-        "type": "winkel3",
         "rotate": [
             20,
             -90,
             0
-        ]
+        ],
+        "type": "winkel3"
     },
     "title": "winkel3",
-    "background": "#c1e7f5"
+    "width": 500
 }
diff --git a/tests/specs/scale/axislimit.vl b/tests/specs/scale/axislimit.vl
--- a/tests/specs/scale/axislimit.vl
+++ b/tests/specs/scale/axislimit.vl
@@ -1,23 +1,17 @@
 {
-    "mark": {
-        "strokeWidth": 0.4,
-        "stroke": "white",
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "size": {
-            "field": "Acceleration",
+        "opacity": {
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
-        "opacity": {
-            "field": "Acceleration",
+        "size": {
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
         "x": {
@@ -36,5 +30,11 @@
             },
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "filled": true,
+        "stroke": "white",
+        "strokeWidth": 0.4,
+        "type": "point"
     }
 }
diff --git a/tests/specs/scale/axisrange.vl b/tests/specs/scale/axisrange.vl
--- a/tests/specs/scale/axisrange.vl
+++ b/tests/specs/scale/axisrange.vl
@@ -1,23 +1,17 @@
 {
-    "mark": {
-        "strokeWidth": 0.4,
-        "stroke": "white",
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "size": {
-            "field": "Acceleration",
+        "opacity": {
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
-        "opacity": {
-            "field": "Acceleration",
+        "size": {
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
         "x": {
@@ -40,5 +34,11 @@
             },
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "filled": true,
+        "stroke": "white",
+        "strokeWidth": 0.4,
+        "type": "point"
     }
 }
diff --git a/tests/specs/scale/diverging1.vl b/tests/specs/scale/diverging1.vl
--- a/tests/specs/scale/diverging1.vl
+++ b/tests/specs/scale/diverging1.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "value",
@@ -50,17 +49,18 @@
             "type": "quantitative"
         },
         "x": {
-            "field": "category",
-            "type": "ordinal",
             "axis": {
-                "labelAngle": 0,
                 "domain": false,
+                "labelAngle": 0,
                 "orient": "top"
-            }
+            },
+            "field": "category",
+            "type": "ordinal"
         },
         "y": {
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/scale/diverging2.vl b/tests/specs/scale/diverging2.vl
--- a/tests/specs/scale/diverging2.vl
+++ b/tests/specs/scale/diverging2.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,28 +40,28 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "value",
             "scale": {
-                "scheme": "redblue",
-                "domainMid": 0
+                "domainMid": 0,
+                "scheme": "redblue"
             },
             "type": "quantitative"
         },
         "x": {
-            "field": "category",
-            "type": "ordinal",
             "axis": {
-                "labelAngle": 0,
                 "domain": false,
+                "labelAngle": 0,
                 "orient": "top"
-            }
+            },
+            "field": "category",
+            "type": "ordinal"
         },
         "y": {
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/scale/namedaxisrange.vl b/tests/specs/scale/namedaxisrange.vl
--- a/tests/specs/scale/namedaxisrange.vl
+++ b/tests/specs/scale/namedaxisrange.vl
@@ -1,20 +1,19 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "l": "A",
+                "c": "#ff0000",
                 "col": "X",
-                "c": "#ff0000"
+                "l": "A"
             },
             {
-                "l": "B",
+                "c": "#0000ff",
                 "col": "Y",
-                "c": "#0000ff"
+                "l": "B"
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "l",
@@ -29,5 +28,6 @@
             "field": "col",
             "type": "nominal"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/scale/scale1.vl b/tests/specs/scale/scale1.vl
--- a/tests/specs/scale/scale1.vl
+++ b/tests/specs/scale/scale1.vl
@@ -1,26 +1,20 @@
 {
-    "mark": {
-        "strokeWidth": 0.4,
-        "stroke": "white",
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "value": "rgb(203,24,29)"
         },
-        "size": {
-            "field": "Acceleration",
+        "opacity": {
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
-        "opacity": {
-            "field": "Acceleration",
+        "size": {
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
         "x": {
@@ -31,5 +25,11 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "filled": true,
+        "stroke": "white",
+        "strokeWidth": 0.4,
+        "type": "point"
     }
 }
diff --git a/tests/specs/scale/scale2.vl b/tests/specs/scale/scale2.vl
--- a/tests/specs/scale/scale2.vl
+++ b/tests/specs/scale/scale2.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "range": {
             "ramp": {
@@ -6,15 +7,13 @@
             }
         }
     },
-    "mark": "point",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
-            "field": "Acceleration",
             "bin": true,
+            "field": "Acceleration",
             "type": "quantitative"
         },
         "x": {
@@ -25,5 +24,6 @@
             "field": "Miles_per_Gallon",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/scale/scale3.vl b/tests/specs/scale/scale3.vl
--- a/tests/specs/scale/scale3.vl
+++ b/tests/specs/scale/scale3.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -31,17 +31,16 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "b",
+            "legend": {
+                "title": "Quantile"
+            },
             "scale": {
                 "type": "quantile"
             },
-            "type": "quantitative",
-            "legend": {
-                "title": "Quantile"
-            }
+            "type": "quantitative"
         },
         "size": {
             "field": "b",
@@ -51,14 +50,15 @@
             "type": "quantitative"
         },
         "y": {
-            "field": "b",
-            "sort": null,
-            "type": "nominal",
             "axis": {
                 "domain": false,
-                "title": null,
-                "ticks": false
-            }
+                "ticks": false,
+                "title": null
+            },
+            "field": "b",
+            "sort": null,
+            "type": "nominal"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/scale/scale4.vl b/tests/specs/scale/scale4.vl
--- a/tests/specs/scale/scale4.vl
+++ b/tests/specs/scale/scale4.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -31,18 +31,17 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "b",
-            "scale": {
-                "zero": true,
-                "type": "quantize"
-            },
-            "type": "quantitative",
             "legend": {
                 "title": "Quantize"
-            }
+            },
+            "scale": {
+                "type": "quantize",
+                "zero": true
+            },
+            "type": "quantitative"
         },
         "size": {
             "field": "b",
@@ -52,14 +51,15 @@
             "type": "quantitative"
         },
         "y": {
-            "field": "b",
-            "sort": null,
-            "type": "nominal",
             "axis": {
                 "domain": false,
-                "title": null,
-                "ticks": false
-            }
+                "ticks": false,
+                "title": null
+            },
+            "field": "b",
+            "sort": null,
+            "type": "nominal"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/scale/scale5.vl b/tests/specs/scale/scale5.vl
--- a/tests/specs/scale/scale5.vl
+++ b/tests/specs/scale/scale5.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -31,10 +31,12 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "b",
+            "legend": {
+                "title": "Threshold"
+            },
             "scale": {
                 "domain": [
                     30,
@@ -43,10 +45,7 @@
                 "scheme": "viridis",
                 "type": "threshold"
             },
-            "type": "quantitative",
-            "legend": {
-                "title": "Threshold"
-            }
+            "type": "quantitative"
         },
         "size": {
             "field": "b",
@@ -65,14 +64,15 @@
             "type": "quantitative"
         },
         "y": {
-            "field": "b",
-            "sort": null,
-            "type": "nominal",
             "axis": {
                 "domain": false,
-                "title": null,
-                "ticks": false
-            }
+                "ticks": false,
+                "title": null
+            },
+            "field": "b",
+            "sort": null,
+            "type": "nominal"
         }
-    }
+    },
+    "mark": "circle"
 }
diff --git a/tests/specs/scale/scale6.vl b/tests/specs/scale/scale6.vl
--- a/tests/specs/scale/scale6.vl
+++ b/tests/specs/scale/scale6.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -34,18 +34,18 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "field": "r",
+            "legend": null,
             "scale": {
                 "range": [
                     0,
                     80000
                 ]
             },
-            "type": "quantitative",
-            "legend": null
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/scale/scale7.vl b/tests/specs/scale/scale7.vl
--- a/tests/specs/scale/scale7.vl
+++ b/tests/specs/scale/scale7.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -34,10 +34,10 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "field": "r",
+            "legend": null,
             "scale": {
                 "exponent": 2,
                 "range": [
@@ -46,8 +46,8 @@
                 ],
                 "type": "pow"
             },
-            "type": "quantitative",
-            "legend": null
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/scale/scale8.vl b/tests/specs/scale/scale8.vl
--- a/tests/specs/scale/scale8.vl
+++ b/tests/specs/scale/scale8.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -34,10 +34,10 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "field": "r",
+            "legend": null,
             "scale": {
                 "exponent": 1.2,
                 "range": [
@@ -46,8 +46,8 @@
                 ],
                 "type": "pow"
             },
-            "type": "quantitative",
-            "legend": null
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/scale/scale9.vl b/tests/specs/scale/scale9.vl
--- a/tests/specs/scale/scale9.vl
+++ b/tests/specs/scale/scale9.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -34,10 +34,10 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "field": "r",
+            "legend": null,
             "scale": {
                 "base": 2.718281828459045,
                 "range": [
@@ -46,8 +46,8 @@
                 ],
                 "type": "log"
             },
-            "type": "quantitative",
-            "legend": null
+            "type": "quantitative"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/shape/custom1.vl b/tests/specs/shape/custom1.vl
--- a/tests/specs/shape/custom1.vl
+++ b/tests/specs/shape/custom1.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom nominal shape with unit area.",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -32,5 +20,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom nominal shape with unit area."
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/custom2.vl b/tests/specs/shape/custom2.vl
--- a/tests/specs/shape/custom2.vl
+++ b/tests/specs/shape/custom2.vl
@@ -1,32 +1,20 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom nominal shape with unit area sized by Cylinders.",
     "encoding": {
-        "size": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
         "opacity": {
             "value": 0.6
         },
         "shape": {
             "value": "M -0.5 -0.5 h 1 v 1 h -1z"
         },
+        "size": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -36,5 +24,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom nominal shape with unit area sized by Cylinders."
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/custom3.vl b/tests/specs/shape/custom3.vl
--- a/tests/specs/shape/custom3.vl
+++ b/tests/specs/shape/custom3.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom nominal shape with area of 10x10 pixel units.",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -36,5 +24,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom nominal shape with area of 10x10 pixel units."
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/custom4.vl b/tests/specs/shape/custom4.vl
--- a/tests/specs/shape/custom4.vl
+++ b/tests/specs/shape/custom4.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom shape sets encoding origin.",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -45,5 +33,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom shape sets encoding origin."
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/defNominal.vl b/tests/specs/shape/defNominal.vl
--- a/tests/specs/shape/defNominal.vl
+++ b/tests/specs/shape/defNominal.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Default nominal shapes.",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -33,5 +21,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Default nominal shapes."
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/defOrdinal.vl b/tests/specs/shape/defOrdinal.vl
--- a/tests/specs/shape/defOrdinal.vl
+++ b/tests/specs/shape/defOrdinal.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Default ordinal shapes.",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -33,5 +21,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Default ordinal shapes."
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/isotype1.vl b/tests/specs/shape/isotype1.vl
--- a/tests/specs/shape/isotype1.vl
+++ b/tests/specs/shape/isotype1.vl
@@ -1,27 +1,13 @@
 {
-    "transform": [
-        {
-            "as": "col",
-            "calculate": "ceil (datum.id/10)"
-        },
-        {
-            "as": "row",
-            "calculate": "datum.id - datum.col*10"
-        }
-    ],
-    "height": 400,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "stroke": null
-        },
         "axis": {
             "disable": true
+        },
+        "view": {
+            "stroke": null
         }
     },
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
     "data": {
         "values": [
             {
@@ -326,27 +312,20 @@
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "selection": {
-        "highlight": {
-            "type": "interval"
-        }
-    },
     "encoding": {
         "color": {
-            "value": "rgb(167,165,156)",
             "condition": {
-                "value": "rgb(194,81,64)",
-                "selection": "highlight"
-            }
-        },
-        "size": {
-            "value": 90
+                "selection": "highlight",
+                "value": "rgb(194,81,64)"
+            },
+            "value": "rgb(167,165,156)"
         },
         "shape": {
             "value": "M1.7 -1.7h-0.8c0.3 -0.2 0.6 -0.5 0.6 -0.9c0 -0.6 -0.4 -1 -1 -1c-0.6 0 -1 0.4 -1 1c0 0.4 0.2 0.7 0.6 0.9h-0.8c-0.4 0 -0.7 0.3 -0.7 0.6v1.9c0 0.3 0.3 0.6 0.6 0.6h0.2c0 0 0 0.1 0 0.1v1.9c0 0.3 0.2 0.6 0.3 0.6h1.3c0.2 0 0.3 -0.3 0.3 -0.6v-1.8c0 0 0 -0.1 0 -0.1h0.2c0.3 0 0.6 -0.3 0.6 -0.6v-2c0.2 -0.3 -0.1 -0.6 -0.4 -0.6z"
         },
+        "size": {
+            "value": 90
+        },
         "x": {
             "field": "col",
             "type": "ordinal"
@@ -355,5 +334,26 @@
             "field": "row",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 400,
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "selection": {
+        "highlight": {
+            "type": "interval"
+        }
+    },
+    "transform": [
+        {
+            "as": "col",
+            "calculate": "ceil (datum.id/10)"
+        },
+        {
+            "as": "row",
+            "calculate": "datum.id - datum.col*10"
+        }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/shape/multi1.vl b/tests/specs/shape/multi1.vl
--- a/tests/specs/shape/multi1.vl
+++ b/tests/specs/shape/multi1.vl
@@ -1,26 +1,10 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Sized by number of cylinders, shape by origin",
     "encoding": {
-        "size": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
         "opacity": {
             "value": 0.6
         },
@@ -28,6 +12,10 @@
             "field": "Origin",
             "type": "nominal"
         },
+        "size": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +25,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Sized by number of cylinders, shape by origin"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/multi2.vl b/tests/specs/shape/multi2.vl
--- a/tests/specs/shape/multi2.vl
+++ b/tests/specs/shape/multi2.vl
@@ -1,26 +1,10 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Sized and shaped by number of cylinders (should only have a single set of legend items)",
     "encoding": {
-        "size": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
         "opacity": {
             "value": 0.6
         },
@@ -28,6 +12,10 @@
             "field": "Cylinders",
             "type": "ordinal"
         },
+        "size": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -37,5 +25,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Sized and shaped by number of cylinders (should only have a single set of legend items)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/multi3.vl b/tests/specs/shape/multi3.vl
--- a/tests/specs/shape/multi3.vl
+++ b/tests/specs/shape/multi3.vl
@@ -1,30 +1,14 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Sized, shaped and coloured by number of cylinders (should only have a single set of legend items)",
     "encoding": {
         "color": {
             "field": "Cylinders",
             "type": "ordinal"
         },
-        "size": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
         "opacity": {
             "value": 0.6
         },
@@ -32,6 +16,10 @@
             "field": "Cylinders",
             "type": "ordinal"
         },
+        "size": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +29,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Sized, shaped and coloured by number of cylinders (should only have a single set of legend items)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/multi4.vl b/tests/specs/shape/multi4.vl
--- a/tests/specs/shape/multi4.vl
+++ b/tests/specs/shape/multi4.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom-shaped and coloured by origin (should only have a single set of legend items)",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -37,5 +25,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom-shaped and coloured by origin (should only have a single set of legend items)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/multi5.vl b/tests/specs/shape/multi5.vl
--- a/tests/specs/shape/multi5.vl
+++ b/tests/specs/shape/multi5.vl
@@ -1,21 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Custom-shaped and coloured by origin (should only have a single set of legend items)",
     "encoding": {
         "color": {
             "field": "Origin",
@@ -49,5 +37,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Custom-shaped and coloured by origin (should only have a single set of legend items)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/multi6.vl b/tests/specs/shape/multi6.vl
--- a/tests/specs/shape/multi6.vl
+++ b/tests/specs/shape/multi6.vl
@@ -1,30 +1,14 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Sized, shaped and coloured by number of cylinders (should have two sets of legend items)",
     "encoding": {
         "color": {
             "field": "Origin",
             "type": "nominal"
         },
-        "size": {
-            "field": "Cylinders",
-            "type": "ordinal"
-        },
         "opacity": {
             "value": 0.6
         },
@@ -32,6 +16,10 @@
             "field": "Cylinders",
             "type": "ordinal"
         },
+        "size": {
+            "field": "Cylinders",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -41,5 +29,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Sized, shaped and coloured by number of cylinders (should have two sets of legend items)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point1.vl b/tests/specs/shape/point1.vl
--- a/tests/specs/shape/point1.vl
+++ b/tests/specs/shape/point1.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "square",
-        "type": "point",
-        "filled": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "square-unfilled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "square-unfilled"
+    "mark": {
+        "filled": false,
+        "shape": "square",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point2.vl b/tests/specs/shape/point2.vl
--- a/tests/specs/shape/point2.vl
+++ b/tests/specs/shape/point2.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "cross",
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "cross-filled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "cross-filled"
+    "mark": {
+        "filled": true,
+        "shape": "cross",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point3.vl b/tests/specs/shape/point3.vl
--- a/tests/specs/shape/point3.vl
+++ b/tests/specs/shape/point3.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "diamond",
-        "type": "point",
-        "filled": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "diamond-unfilled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "diamond-unfilled"
+    "mark": {
+        "filled": false,
+        "shape": "diamond",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point4.vl b/tests/specs/shape/point4.vl
--- a/tests/specs/shape/point4.vl
+++ b/tests/specs/shape/point4.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "triangle",
-        "type": "point",
-        "filled": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "triangle-unfilled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "triangle-unfilled"
+    "mark": {
+        "filled": false,
+        "shape": "triangle",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point5.vl b/tests/specs/shape/point5.vl
--- a/tests/specs/shape/point5.vl
+++ b/tests/specs/shape/point5.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "stroke",
-        "type": "point",
-        "filled": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "stroke-unfilled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "stroke-unfilled"
+    "mark": {
+        "filled": false,
+        "shape": "stroke",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point6.vl b/tests/specs/shape/point6.vl
--- a/tests/specs/shape/point6.vl
+++ b/tests/specs/shape/point6.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "arrow",
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "arrow-filled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "arrow-filled"
+    "mark": {
+        "filled": true,
+        "shape": "arrow",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/point7.vl b/tests/specs/shape/point7.vl
--- a/tests/specs/shape/point7.vl
+++ b/tests/specs/shape/point7.vl
@@ -1,22 +1,9 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "shape": "wedge",
-        "type": "point",
-        "filled": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "wedge-unfilled",
     "encoding": {
         "opacity": {
             "value": 0.6
@@ -30,5 +17,18 @@
             "type": "quantitative"
         }
     },
-    "description": "wedge-unfilled"
+    "mark": {
+        "filled": false,
+        "shape": "wedge",
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/rounded1.vl b/tests/specs/shape/rounded1.vl
--- a/tests/specs/shape/rounded1.vl
+++ b/tests/specs/shape/rounded1.vl
@@ -1,16 +1,8 @@
 {
-    "height": 200,
-    "mark": {
-        "cornerRadius": 8,
-        "size": 30,
-        "opacity": 0.6,
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Origin",
@@ -20,5 +12,13 @@
             "field": "Cylinders",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "cornerRadius": 8,
+        "opacity": 0.6,
+        "size": 30,
+        "type": "rect"
+    },
+    "width": 200
 }
diff --git a/tests/specs/shape/rounded2.vl b/tests/specs/shape/rounded2.vl
--- a/tests/specs/shape/rounded2.vl
+++ b/tests/specs/shape/rounded2.vl
@@ -1,16 +1,8 @@
 {
-    "height": 200,
-    "mark": {
-        "cornerRadiusTopLeft": 8,
-        "size": 30,
-        "opacity": 0.6,
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Origin",
@@ -20,5 +12,13 @@
             "field": "Cylinders",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "cornerRadiusTopLeft": 8,
+        "opacity": 0.6,
+        "size": 30,
+        "type": "rect"
+    },
+    "width": 200
 }
diff --git a/tests/specs/shape/rounded3.vl b/tests/specs/shape/rounded3.vl
--- a/tests/specs/shape/rounded3.vl
+++ b/tests/specs/shape/rounded3.vl
@@ -1,16 +1,8 @@
 {
-    "height": 200,
-    "mark": {
-        "size": 30,
-        "opacity": 0.6,
-        "cornerRadiusTopRight": 8,
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Origin",
@@ -20,5 +12,13 @@
             "field": "Cylinders",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "cornerRadiusTopRight": 8,
+        "opacity": 0.6,
+        "size": 30,
+        "type": "rect"
+    },
+    "width": 200
 }
diff --git a/tests/specs/shape/rounded4.vl b/tests/specs/shape/rounded4.vl
--- a/tests/specs/shape/rounded4.vl
+++ b/tests/specs/shape/rounded4.vl
@@ -1,16 +1,8 @@
 {
-    "height": 200,
-    "mark": {
-        "size": 30,
-        "cornerRadiusBottomLeft": 8,
-        "opacity": 0.6,
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Origin",
@@ -20,5 +12,13 @@
             "field": "Cylinders",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "cornerRadiusBottomLeft": 8,
+        "opacity": 0.6,
+        "size": 30,
+        "type": "rect"
+    },
+    "width": 200
 }
diff --git a/tests/specs/shape/rounded5.vl b/tests/specs/shape/rounded5.vl
--- a/tests/specs/shape/rounded5.vl
+++ b/tests/specs/shape/rounded5.vl
@@ -1,16 +1,8 @@
 {
-    "height": 200,
-    "mark": {
-        "size": 30,
-        "opacity": 0.6,
-        "cornerRadiusBottomRight": 8,
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Origin",
@@ -20,5 +12,13 @@
             "field": "Cylinders",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "cornerRadiusBottomRight": 8,
+        "opacity": 0.6,
+        "size": 30,
+        "type": "rect"
+    },
+    "width": 200
 }
diff --git a/tests/specs/shape/rounded6.vl b/tests/specs/shape/rounded6.vl
--- a/tests/specs/shape/rounded6.vl
+++ b/tests/specs/shape/rounded6.vl
@@ -1,18 +1,8 @@
 {
-    "height": 200,
-    "mark": {
-        "cornerRadius": 16,
-        "size": 30,
-        "cornerRadiusBottomLeft": 0,
-        "opacity": 0.6,
-        "cornerRadiusTopRight": 0,
-        "type": "rect"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 200,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "Origin",
@@ -22,5 +12,15 @@
             "field": "Cylinders",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 200,
+    "mark": {
+        "cornerRadius": 16,
+        "cornerRadiusBottomLeft": 0,
+        "cornerRadiusTopRight": 0,
+        "opacity": 0.6,
+        "size": 30,
+        "type": "rect"
+    },
+    "width": 200
 }
diff --git a/tests/specs/shape/size1.vl b/tests/specs/shape/size1.vl
--- a/tests/specs/shape/size1.vl
+++ b/tests/specs/shape/size1.vl
@@ -1,25 +1,10 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Enlarged shapes (but legend shapes should remain same size)",
     "encoding": {
-        "size": {
-            "value": 200
-        },
         "opacity": {
             "value": 0.6
         },
@@ -27,6 +12,9 @@
             "field": "Origin",
             "type": "nominal"
         },
+        "size": {
+            "value": 200
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -36,5 +24,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Enlarged shapes (but legend shapes should remain same size)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/size2.vl b/tests/specs/shape/size2.vl
--- a/tests/specs/shape/size2.vl
+++ b/tests/specs/shape/size2.vl
@@ -1,25 +1,10 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Reduced shapes (but legend shapes should remain same size)",
     "encoding": {
-        "size": {
-            "value": 20
-        },
         "opacity": {
             "value": 0.6
         },
@@ -27,6 +12,9 @@
             "field": "Origin",
             "type": "nominal"
         },
+        "size": {
+            "value": 20
+        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -36,5 +24,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Reduced shapes (but legend shapes should remain same size)"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/size3.vl b/tests/specs/shape/size3.vl
--- a/tests/specs/shape/size3.vl
+++ b/tests/specs/shape/size3.vl
@@ -1,29 +1,17 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Fixed shape, sized by number of cylinder category",
     "encoding": {
+        "opacity": {
+            "value": 0.6
+        },
         "size": {
             "field": "Cylinders",
             "type": "ordinal"
         },
-        "opacity": {
-            "value": 0.6
-        },
         "x": {
             "field": "Horsepower",
             "type": "quantitative"
@@ -33,5 +21,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Fixed shape, sized by number of cylinder category"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/symbols1.vl b/tests/specs/shape/symbols1.vl
--- a/tests/specs/shape/symbols1.vl
+++ b/tests/specs/shape/symbols1.vl
@@ -1,143 +1,143 @@
 {
-    "data": {
-        "values": [
-            {
-                "x": 0
-            }
-        ]
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "columns": 4,
     "concat": [
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "circle",
                 "size": 400,
                 "stroke": "black",
-                "shape": "circle",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "square",
                 "size": 400,
                 "stroke": "black",
-                "shape": "square",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "diamond",
                 "size": 400,
                 "stroke": "black",
-                "shape": "diamond",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "cross",
                 "size": 400,
                 "stroke": "black",
-                "shape": "cross",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "triangle-up",
                 "size": 400,
                 "stroke": "black",
-                "shape": "triangle-up",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "triangle-down",
                 "size": 400,
                 "stroke": "black",
-                "shape": "triangle-down",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "triangle-left",
                 "size": 400,
                 "stroke": "black",
-                "shape": "triangle-left",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "triangle-right",
                 "size": 400,
                 "stroke": "black",
-                "shape": "triangle-right",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "triangle",
                 "size": 400,
                 "stroke": "black",
-                "shape": "triangle",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "arrow",
                 "size": 400,
                 "stroke": "black",
-                "shape": "arrow",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "wedge",
                 "size": 400,
                 "stroke": "black",
-                "shape": "wedge",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "stroke",
                 "size": 400,
                 "stroke": "black",
-                "shape": "stroke",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         },
         {
             "mark": {
-                "strokeWidth": 0.5,
+                "filled": true,
+                "shape": "M -1 -1 L 1 1",
                 "size": 400,
                 "stroke": "black",
-                "shape": "M -1 -1 L 1 1",
-                "type": "point",
-                "filled": true
+                "strokeWidth": 0.5,
+                "type": "point"
             }
         }
     ],
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "columns": 4
+    "data": {
+        "values": [
+            {
+                "x": 0
+            }
+        ]
+    }
 }
diff --git a/tests/specs/shape/symbols2.vl b/tests/specs/shape/symbols2.vl
--- a/tests/specs/shape/symbols2.vl
+++ b/tests/specs/shape/symbols2.vl
@@ -1,30 +1,18 @@
 {
-    "transform": [
-        {
-            "as": "YearOfManufacture",
-            "calculate": "year(datum.Year)"
-        },
-        {
-            "filter": "datum.YearOfManufacture == 1970"
-        }
-    ],
-    "mark": {
-        "type": "point",
-        "filled": true
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Legend using non-default bordered square symbols",
     "encoding": {
         "color": {
             "field": "Origin",
-            "type": "nominal",
             "legend": {
                 "symbolStrokeColor": "black",
                 "symbolStrokeWidth": 0.5,
                 "symbolType": "square"
-            }
+            },
+            "type": "nominal"
         },
         "opacity": {
             "value": 0.6
@@ -38,5 +26,17 @@
             "type": "quantitative"
         }
     },
-    "description": "Legend using non-default bordered square symbols"
+    "mark": {
+        "filled": true,
+        "type": "point"
+    },
+    "transform": [
+        {
+            "as": "YearOfManufacture",
+            "calculate": "year(datum.Year)"
+        },
+        {
+            "filter": "datum.YearOfManufacture == 1970"
+        }
+    ]
 }
diff --git a/tests/specs/shape/windvector.vl b/tests/specs/shape/windvector.vl
--- a/tests/specs/shape/windvector.vl
+++ b/tests/specs/shape/windvector.vl
@@ -1,58 +1,58 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "view": {
             "fill": "black",
             "step": 10
         }
     },
-    "mark": {
-        "shape": "wedge",
-        "type": "point"
-    },
     "data": {
         "url": "https://vega.github.io/vega-lite/data/windvectors.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
-        "color": {
+        "angle": {
             "field": "dir",
             "scale": {
                 "domain": [
                     0,
                     360
                 ],
-                "scheme": "rainbow"
+                "range": [
+                    180,
+                    540
+                ]
             },
-            "type": "quantitative",
-            "legend": null
-        },
-        "size": {
-            "field": "speed",
             "type": "quantitative"
         },
-        "angle": {
+        "color": {
             "field": "dir",
+            "legend": null,
             "scale": {
                 "domain": [
                     0,
                     360
                 ],
-                "range": [
-                    180,
-                    540
-                ]
+                "scheme": "rainbow"
             },
             "type": "quantitative"
         },
+        "size": {
+            "field": "speed",
+            "type": "quantitative"
+        },
         "x": {
+            "axis": null,
             "field": "longitude",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         },
         "y": {
+            "axis": null,
             "field": "latitude",
-            "type": "ordinal",
-            "axis": null
+            "type": "ordinal"
         }
+    },
+    "mark": {
+        "shape": "wedge",
+        "type": "point"
     }
 }
diff --git a/tests/specs/sort/ascending.vl b/tests/specs/sort/ascending.vl
--- a/tests/specs/sort/ascending.vl
+++ b/tests/specs/sort/ascending.vl
@@ -1,47 +1,47 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Weight_in_lbs": 19,
-                "Horsepower": 1
+                "Horsepower": 1,
+                "Weight_in_lbs": 19
             },
             {
-                "Weight_in_lbs": 21,
-                "Horsepower": 5
+                "Horsepower": 5,
+                "Weight_in_lbs": 21
             },
             {
-                "Weight_in_lbs": 58,
-                "Horsepower": 2
+                "Horsepower": 2,
+                "Weight_in_lbs": 58
             },
             {
-                "Weight_in_lbs": 12,
-                "Horsepower": 3
+                "Horsepower": 3,
+                "Weight_in_lbs": 12
             },
             {
-                "Weight_in_lbs": 13,
-                "Horsepower": 4
+                "Horsepower": 4,
+                "Weight_in_lbs": 13
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
+        "order": {
+            "field": "Horsepower",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "sort": "ascending",
             "type": "quantitative"
         },
-        "order": {
-            "field": "Horsepower",
-            "type": "ordinal"
-        },
         "y": {
             "field": "Horsepower",
             "type": "quantitative"
         }
+    },
+    "height": 300,
+    "mark": {
+        "strokeWidth": 0.5,
+        "type": "line"
     }
 }
diff --git a/tests/specs/sort/custom.vl b/tests/specs/sort/custom.vl
--- a/tests/specs/sort/custom.vl
+++ b/tests/specs/sort/custom.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -28,7 +28,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "a",
@@ -43,5 +42,6 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/sort/descending.vl b/tests/specs/sort/descending.vl
--- a/tests/specs/sort/descending.vl
+++ b/tests/specs/sort/descending.vl
@@ -1,47 +1,47 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Weight_in_lbs": 19,
-                "Horsepower": 1
+                "Horsepower": 1,
+                "Weight_in_lbs": 19
             },
             {
-                "Weight_in_lbs": 21,
-                "Horsepower": 5
+                "Horsepower": 5,
+                "Weight_in_lbs": 21
             },
             {
-                "Weight_in_lbs": 58,
-                "Horsepower": 2
+                "Horsepower": 2,
+                "Weight_in_lbs": 58
             },
             {
-                "Weight_in_lbs": 12,
-                "Horsepower": 3
+                "Horsepower": 3,
+                "Weight_in_lbs": 12
             },
             {
-                "Weight_in_lbs": 13,
-                "Horsepower": 4
+                "Horsepower": 4,
+                "Weight_in_lbs": 13
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
+        "order": {
+            "field": "Horsepower",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "sort": "descending",
             "type": "quantitative"
         },
-        "order": {
-            "field": "Horsepower",
-            "type": "ordinal"
-        },
         "y": {
             "field": "Horsepower",
             "type": "quantitative"
         }
+    },
+    "height": 300,
+    "mark": {
+        "strokeWidth": 0.5,
+        "type": "line"
     }
 }
diff --git a/tests/specs/sort/stack1.vl b/tests/specs/sort/stack1.vl
--- a/tests/specs/sort/stack1.vl
+++ b/tests/specs/sort/stack1.vl
@@ -1,23 +1,65 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/cars.json"
+    },
+    "encoding": {
+        "color": {
+            "field": "Origin",
+            "type": "nominal"
+        },
+        "opacity": {
+            "field": "Cylinders",
+            "legend": null,
+            "type": "quantitative"
+        },
+        "tooltip": [
+            {
+                "field": "Origin",
+                "type": "nominal"
+            },
+            {
+                "field": "Cylinders",
+                "type": "quantitative"
+            }
+        ],
+        "x": {
+            "axis": null,
+            "field": "x",
+            "type": "quantitative"
+        },
+        "x2": {
+            "field": "x2"
+        },
+        "y": {
+            "axis": null,
+            "field": "y",
+            "type": "quantitative"
+        },
+        "y2": {
+            "field": "y2"
+        }
+    },
+    "mark": "rect",
     "transform": [
         {
-            "groupby": [
-                "Origin",
-                "Cylinders"
-            ],
             "aggregate": [
                 {
-                    "op": "count",
-                    "as": "count_*"
+                    "as": "count_*",
+                    "op": "count"
                 }
+            ],
+            "groupby": [
+                "Origin",
+                "Cylinders"
             ]
         },
         {
-            "groupby": [],
             "as": [
                 "stack_count_Origin1",
                 "stack_count_Origin2"
             ],
+            "groupby": [],
             "offset": "normalize",
             "sort": [
                 {
@@ -28,34 +70,34 @@
             "stack": "count_*"
         },
         {
+            "frame": [
+                null,
+                null
+            ],
+            "groupby": [
+                "Origin"
+            ],
             "window": [
                 {
-                    "op": "min",
                     "as": "x",
-                    "field": "stack_count_Origin1"
+                    "field": "stack_count_Origin1",
+                    "op": "min"
                 },
                 {
-                    "op": "max",
                     "as": "x2",
-                    "field": "stack_count_Origin2"
+                    "field": "stack_count_Origin2",
+                    "op": "max"
                 }
-            ],
-            "groupby": [
-                "Origin"
-            ],
-            "frame": [
-                null,
-                null
             ]
         },
         {
-            "groupby": [
-                "Origin"
-            ],
             "as": [
                 "y",
                 "y2"
             ],
+            "groupby": [
+                "Origin"
+            ],
             "offset": "normalize",
             "sort": [
                 {
@@ -65,47 +107,5 @@
             ],
             "stack": "count_*"
         }
-    ],
-    "mark": "rect",
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/cars.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x2": {
-            "field": "x2"
-        },
-        "color": {
-            "field": "Origin",
-            "type": "nominal"
-        },
-        "opacity": {
-            "field": "Cylinders",
-            "type": "quantitative",
-            "legend": null
-        },
-        "tooltip": [
-            {
-                "field": "Origin",
-                "type": "nominal"
-            },
-            {
-                "field": "Cylinders",
-                "type": "quantitative"
-            }
-        ],
-        "x": {
-            "field": "x",
-            "type": "quantitative",
-            "axis": null
-        },
-        "y2": {
-            "field": "y2"
-        },
-        "y": {
-            "field": "y",
-            "type": "quantitative",
-            "axis": null
-        }
-    }
+    ]
 }
diff --git a/tests/specs/sort/weighted.vl b/tests/specs/sort/weighted.vl
--- a/tests/specs/sort/weighted.vl
+++ b/tests/specs/sort/weighted.vl
@@ -1,50 +1,50 @@
 {
-    "height": 300,
-    "mark": {
-        "strokeWidth": 0.5,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Weight_in_lbs": 19,
-                "Horsepower": 1
+                "Horsepower": 1,
+                "Weight_in_lbs": 19
             },
             {
-                "Weight_in_lbs": 21,
-                "Horsepower": 5
+                "Horsepower": 5,
+                "Weight_in_lbs": 21
             },
             {
-                "Weight_in_lbs": 58,
-                "Horsepower": 2
+                "Horsepower": 2,
+                "Weight_in_lbs": 58
             },
             {
-                "Weight_in_lbs": 12,
-                "Horsepower": 3
+                "Horsepower": 3,
+                "Weight_in_lbs": 12
             },
             {
-                "Weight_in_lbs": 13,
-                "Horsepower": 4
+                "Horsepower": 4,
+                "Weight_in_lbs": 13
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
+        "order": {
+            "field": "Weight_in_lbs",
+            "type": "ordinal"
+        },
         "x": {
             "field": "Horsepower",
             "sort": {
-                "op": "mean",
-                "field": "Weight_in_lbs"
+                "field": "Weight_in_lbs",
+                "op": "mean"
             },
             "type": "quantitative"
         },
-        "order": {
-            "field": "Weight_in_lbs",
-            "type": "ordinal"
-        },
         "y": {
             "field": "Weight_in_lbs",
             "type": "quantitative"
         }
+    },
+    "height": 300,
+    "mark": {
+        "strokeWidth": 0.5,
+        "type": "line"
     }
 }
diff --git a/tests/specs/textformat/textFormat1.vl b/tests/specs/textformat/textFormat1.vl
--- a/tests/specs/textformat/textFormat1.vl
+++ b/tests/specs/textformat/textFormat1.vl
@@ -1,5 +1,5 @@
 {
-    "height": 400,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -88,11 +88,9 @@
             }
         ]
     },
-    "width": 600,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 400,
     "layer": [
         {
-            "mark": "circle",
             "encoding": {
                 "x": {
                     "field": "a",
@@ -102,49 +100,51 @@
                     "field": "b",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "circle"
         },
         {
-            "mark": {
-                "dx": 22,
-                "dy": 4,
-                "type": "text"
-            },
             "encoding": {
                 "color": {
                     "field": "a",
-                    "type": "temporal",
                     "legend": {
                         "format": "%b %Y",
                         "formatType": "time"
-                    }
+                    },
+                    "type": "temporal"
                 },
                 "text": {
                     "field": "a",
                     "format": "%b `%y",
-                    "type": "temporal",
-                    "formatType": "time"
+                    "formatType": "time",
+                    "type": "temporal"
                 },
                 "x": {
-                    "field": "a",
-                    "type": "temporal",
                     "axis": {
                         "format": "%y",
                         "formatType": "time"
-                    }
+                    },
+                    "field": "a",
+                    "type": "temporal"
                 },
                 "y": {
+                    "axis": {
+                        "format": ".2f",
+                        "formatType": "number"
+                    },
                     "field": "b",
                     "scale": {
                         "zero": false
                     },
-                    "type": "quantitative",
-                    "axis": {
-                        "format": ".2f",
-                        "formatType": "number"
-                    }
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "dx": 22,
+                "dy": 4,
+                "type": "text"
             }
         }
-    ]
+    ],
+    "width": 600
 }
diff --git a/tests/specs/textformat/textFormat2.vl b/tests/specs/textformat/textFormat2.vl
--- a/tests/specs/textformat/textFormat2.vl
+++ b/tests/specs/textformat/textFormat2.vl
@@ -1,27 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.month >= '2016'"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/westMidlands/westMidsCrimesAggregated.tsv"
     },
-    "width": 100,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "crimeType",
-            "type": "nominal",
-            "legend": null
-        },
-        "x": {
-            "field": "crimeType",
-            "type": "nominal",
-            "axis": {
-                "title": ""
-            }
+            "legend": null,
+            "type": "nominal"
         },
         "column": {
             "field": "month",
@@ -31,10 +17,24 @@
             },
             "type": "temporal"
         },
+        "x": {
+            "axis": {
+                "title": ""
+            },
+            "field": "crimeType",
+            "type": "nominal"
+        },
         "y": {
-            "field": "reportedCrimes",
             "aggregate": "sum",
+            "field": "reportedCrimes",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.month >= '2016'"
+        }
+    ],
+    "width": 100
 }
diff --git a/tests/specs/textformat/tstring.vl b/tests/specs/textformat/tstring.vl
--- a/tests/specs/textformat/tstring.vl
+++ b/tests/specs/textformat/tstring.vl
@@ -1,6 +1,5 @@
 {
-    "height": 100,
-    "mark": "text",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -17,8 +16,6 @@
             }
         ]
     },
-    "width": 100,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "text": {
             "value": "🐕"
@@ -31,5 +28,8 @@
             "field": "y",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 100,
+    "mark": "text",
+    "width": 100
 }
diff --git a/tests/specs/time/customizeStep.vl b/tests/specs/time/customizeStep.vl
--- a/tests/specs/time/customizeStep.vl
+++ b/tests/specs/time/customizeStep.vl
@@ -1,74 +1,73 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "distance": 1,
-                "date": "Sun, 01 Jan 2012 00:00:00"
+                "date": "Sun, 01 Jan 2012 00:00:00",
+                "distance": 1
             },
             {
-                "distance": 1,
-                "date": "Sun, 01 Jan 2012 00:01:00"
+                "date": "Sun, 01 Jan 2012 00:01:00",
+                "distance": 1
             },
             {
-                "distance": 2,
-                "date": "Sun, 01 Jan 2012 00:02:00"
+                "date": "Sun, 01 Jan 2012 00:02:00",
+                "distance": 2
             },
             {
-                "distance": 1,
-                "date": "Sun, 01 Jan 2012 00:03:00"
+                "date": "Sun, 01 Jan 2012 00:03:00",
+                "distance": 1
             },
             {
-                "distance": 4,
-                "date": "Sun, 01 Jan 2012 00:04:00"
+                "date": "Sun, 01 Jan 2012 00:04:00",
+                "distance": 4
             },
             {
-                "distance": 2,
-                "date": "Sun, 01 Jan 2012 00:05:00"
+                "date": "Sun, 01 Jan 2012 00:05:00",
+                "distance": 2
             },
             {
-                "distance": 5,
-                "date": "Sun, 01 Jan 2012 00:06:00"
+                "date": "Sun, 01 Jan 2012 00:06:00",
+                "distance": 5
             },
             {
-                "distance": 2,
-                "date": "Sun, 01 Jan 2012 00:07:00"
+                "date": "Sun, 01 Jan 2012 00:07:00",
+                "distance": 2
             },
             {
-                "distance": 6,
-                "date": "Sun, 01 Jan 2012 00:08:00"
+                "date": "Sun, 01 Jan 2012 00:08:00",
+                "distance": 6
             },
             {
-                "distance": 4,
-                "date": "Sun, 01 Jan 2012 00:09:00"
+                "date": "Sun, 01 Jan 2012 00:09:00",
+                "distance": 4
             },
             {
-                "distance": 1,
-                "date": "Sun, 01 Jan 2012 00:10:00"
+                "date": "Sun, 01 Jan 2012 00:10:00",
+                "distance": 1
             },
             {
-                "distance": 1,
-                "date": "Sun, 01 Jan 2012 00:11:00"
+                "date": "Sun, 01 Jan 2012 00:11:00",
+                "distance": 1
             },
             {
-                "distance": 3,
-                "date": "Sun, 01 Jan 2012 00:12:00"
+                "date": "Sun, 01 Jan 2012 00:12:00",
+                "distance": 3
             },
             {
-                "distance": 0,
-                "date": "Sun, 01 Jan 2012 00:13:00"
+                "date": "Sun, 01 Jan 2012 00:13:00",
+                "distance": 0
             },
             {
-                "distance": 2,
-                "date": "Sun, 01 Jan 2012 00:14:00"
+                "date": "Sun, 01 Jan 2012 00:14:00",
+                "distance": 2
             },
             {
-                "distance": 3,
-                "date": "Sun, 01 Jan 2012 00:15:00"
+                "date": "Sun, 01 Jan 2012 00:15:00",
+                "distance": 3
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -79,9 +78,10 @@
             "type": "temporal"
         },
         "y": {
-            "field": "distance",
             "aggregate": "sum",
+            "field": "distance",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/time/localTime.vl b/tests/specs/time/localTime.vl
--- a/tests/specs/time/localTime.vl
+++ b/tests/specs/time/localTime.vl
@@ -1,62 +1,62 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
+        "format": {
+            "parse": {
+                "date": "date:'%d %b %Y %H:%M'"
+            }
+        },
         "values": [
             {
-                "value": 1,
-                "date": "28 Oct 2017 22:00"
+                "date": "28 Oct 2017 22:00",
+                "value": 1
             },
             {
-                "value": 2,
-                "date": "28 Oct 2017 23:00"
+                "date": "28 Oct 2017 23:00",
+                "value": 2
             },
             {
-                "value": 3,
-                "date": "29 Oct 2017 00:00"
+                "date": "29 Oct 2017 00:00",
+                "value": 3
             },
             {
-                "value": 4,
-                "date": "29 Oct 2017 01:00"
+                "date": "29 Oct 2017 01:00",
+                "value": 4
             },
             {
-                "value": 5,
-                "date": "29 Oct 2017 02:00"
+                "date": "29 Oct 2017 02:00",
+                "value": 5
             },
             {
-                "value": 6,
-                "date": "29 Oct 2017 03:00"
+                "date": "29 Oct 2017 03:00",
+                "value": 6
             },
             {
-                "value": 7,
-                "date": "29 Oct 2017 04:00"
-            }
-        ],
-        "format": {
-            "parse": {
-                "date": "date:'%d %b %Y %H:%M'"
+                "date": "29 Oct 2017 04:00",
+                "value": 7
             }
-        }
+        ]
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "value": 500
         },
         "x": {
+            "axis": {
+                "format": "%d %b %H:%M"
+            },
             "field": "date",
             "scale": {
                 "type": "time"
             },
             "timeUnit": "yearmonthdatehours",
-            "type": "temporal",
-            "axis": {
-                "format": "%d %b %H:%M"
-            }
+            "type": "temporal"
         },
         "y": {
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "width": 800
 }
diff --git a/tests/specs/time/monthAggregate.vl b/tests/specs/time/monthAggregate.vl
--- a/tests/specs/time/monthAggregate.vl
+++ b/tests/specs/time/monthAggregate.vl
@@ -1,12 +1,8 @@
 {
-    "mark": {
-        "interpolate": "monotone",
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-temps.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -14,9 +10,13 @@
             "type": "temporal"
         },
         "y": {
-            "field": "temp",
             "aggregate": "mean",
+            "field": "temp",
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "interpolate": "monotone",
+        "type": "line"
     }
 }
diff --git a/tests/specs/time/nestedTime1.vl b/tests/specs/time/nestedTime1.vl
--- a/tests/specs/time/nestedTime1.vl
+++ b/tests/specs/time/nestedTime1.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -34,7 +34,7 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Google's stock price over time.",
     "encoding": {
         "x": {
             "field": "histo.date",
@@ -49,5 +49,5 @@
             "type": "quantitative"
         }
     },
-    "description": "Google's stock price over time."
+    "mark": "line"
 }
diff --git a/tests/specs/time/nestedTime2.vl b/tests/specs/time/nestedTime2.vl
--- a/tests/specs/time/nestedTime2.vl
+++ b/tests/specs/time/nestedTime2.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -24,7 +24,7 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "description": "Google's stock price over time.",
     "encoding": {
         "x": {
             "field": "date",
@@ -39,5 +39,5 @@
             "type": "quantitative"
         }
     },
-    "description": "Google's stock price over time."
+    "mark": "line"
 }
diff --git a/tests/specs/time/outputAsUTC.vl b/tests/specs/time/outputAsUTC.vl
--- a/tests/specs/time/outputAsUTC.vl
+++ b/tests/specs/time/outputAsUTC.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -24,19 +24,19 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "date",
-            "timeUnit": "utcyearmonthdatehoursminutes",
-            "type": "temporal",
             "axis": {
                 "labelAngle": 15
-            }
+            },
+            "field": "date",
+            "timeUnit": "utcyearmonthdatehoursminutes",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/time/outputScaledAsUTC.vl b/tests/specs/time/outputScaledAsUTC.vl
--- a/tests/specs/time/outputScaledAsUTC.vl
+++ b/tests/specs/time/outputScaledAsUTC.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -24,22 +24,22 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
+            "axis": {
+                "labelAngle": 15
+            },
             "field": "date",
             "scale": {
                 "type": "utc"
             },
             "timeUnit": "yearmonthdatehoursminutes",
-            "type": "temporal",
-            "axis": {
-                "labelAngle": 15
-            }
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line"
 }
diff --git a/tests/specs/time/parseAsFormat.vl b/tests/specs/time/parseAsFormat.vl
--- a/tests/specs/time/parseAsFormat.vl
+++ b/tests/specs/time/parseAsFormat.vl
@@ -1,6 +1,11 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
+        "format": {
+            "parse": {
+                "date": "utc:'%d %b %Y %H:%M:%S'"
+            }
+        },
         "values": [
             {
                 "date": "10 Oct 2011 22:48:00"
@@ -8,22 +13,17 @@
             {
                 "date": "11 Oct 2022 23:00:00"
             }
-        ],
-        "format": {
-            "parse": {
-                "date": "utc:'%d %b %Y %H:%M:%S'"
-            }
-        }
+        ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "y": {
-            "field": "date",
-            "timeUnit": "hoursminutes",
-            "type": "ordinal",
             "axis": {
                 "title": "time"
-            }
+            },
+            "field": "date",
+            "timeUnit": "hoursminutes",
+            "type": "ordinal"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/time/parseAsLocal.vl b/tests/specs/time/parseAsLocal.vl
--- a/tests/specs/time/parseAsLocal.vl
+++ b/tests/specs/time/parseAsLocal.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -10,15 +10,15 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "y": {
-            "field": "date",
-            "timeUnit": "hoursminutes",
-            "type": "ordinal",
             "axis": {
                 "title": "time"
-            }
+            },
+            "field": "date",
+            "timeUnit": "hoursminutes",
+            "type": "ordinal"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/time/parseAsUTC.vl b/tests/specs/time/parseAsUTC.vl
--- a/tests/specs/time/parseAsUTC.vl
+++ b/tests/specs/time/parseAsUTC.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "point",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -10,15 +10,15 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "y": {
-            "field": "date",
-            "timeUnit": "utchours",
-            "type": "ordinal",
             "axis": {
                 "title": "time"
-            }
+            },
+            "field": "date",
+            "timeUnit": "utchours",
+            "type": "ordinal"
         }
-    }
+    },
+    "mark": "point"
 }
diff --git a/tests/specs/time/timeBand.vl b/tests/specs/time/timeBand.vl
--- a/tests/specs/time/timeBand.vl
+++ b/tests/specs/time/timeBand.vl
@@ -1,26 +1,26 @@
 {
-    "mark": {
-        "point": {
-            "fill": "black"
-        },
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-temps.csv"
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
+            "band": 0.5,
             "field": "date",
             "timeUnit": "month",
-            "type": "temporal",
-            "band": 0.5
+            "type": "temporal"
         },
         "y": {
-            "field": "temp",
             "aggregate": "mean",
+            "field": "temp",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "point": {
+            "fill": "black"
+        },
+        "type": "line"
+    },
+    "width": 400
 }
diff --git a/tests/specs/time/timeDate.vl b/tests/specs/time/timeDate.vl
--- a/tests/specs/time/timeDate.vl
+++ b/tests/specs/time/timeDate.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeDay.vl b/tests/specs/time/timeDay.vl
--- a/tests/specs/time/timeDay.vl
+++ b/tests/specs/time/timeDay.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeHours.vl b/tests/specs/time/timeHours.vl
--- a/tests/specs/time/timeHours.vl
+++ b/tests/specs/time/timeHours.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeHoursMinutes.vl b/tests/specs/time/timeHoursMinutes.vl
--- a/tests/specs/time/timeHoursMinutes.vl
+++ b/tests/specs/time/timeHoursMinutes.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeHoursMinutesSeconds.vl b/tests/specs/time/timeHoursMinutesSeconds.vl
--- a/tests/specs/time/timeHoursMinutesSeconds.vl
+++ b/tests/specs/time/timeHoursMinutesSeconds.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeMinutes.vl b/tests/specs/time/timeMinutes.vl
--- a/tests/specs/time/timeMinutes.vl
+++ b/tests/specs/time/timeMinutes.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeMinutesSeconds.vl b/tests/specs/time/timeMinutesSeconds.vl
--- a/tests/specs/time/timeMinutesSeconds.vl
+++ b/tests/specs/time/timeMinutesSeconds.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeMonth.vl b/tests/specs/time/timeMonth.vl
--- a/tests/specs/time/timeMonth.vl
+++ b/tests/specs/time/timeMonth.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeMonthDate.vl b/tests/specs/time/timeMonthDate.vl
--- a/tests/specs/time/timeMonthDate.vl
+++ b/tests/specs/time/timeMonthDate.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeQuarter.vl b/tests/specs/time/timeQuarter.vl
--- a/tests/specs/time/timeQuarter.vl
+++ b/tests/specs/time/timeQuarter.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeQuarterMonth.vl b/tests/specs/time/timeQuarterMonth.vl
--- a/tests/specs/time/timeQuarterMonth.vl
+++ b/tests/specs/time/timeQuarterMonth.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeUnitTransform.vl b/tests/specs/time/timeUnitTransform.vl
--- a/tests/specs/time/timeUnitTransform.vl
+++ b/tests/specs/time/timeUnitTransform.vl
@@ -1,28 +1,28 @@
 {
-    "transform": [
-        {
-            "as": "month",
-            "field": "date",
-            "timeUnit": "month"
-        }
-    ],
-    "mark": "line",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "month",
-            "type": "temporal",
             "axis": {
                 "format": "%b"
-            }
+            },
+            "field": "month",
+            "type": "temporal"
         },
         "y": {
-            "field": "temp_max",
             "aggregate": "max",
+            "field": "temp_max",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "line",
+    "transform": [
+        {
+            "as": "month",
+            "field": "date",
+            "timeUnit": "month"
+        }
+    ]
 }
diff --git a/tests/specs/time/timeYear.vl b/tests/specs/time/timeYear.vl
--- a/tests/specs/time/timeYear.vl
+++ b/tests/specs/time/timeYear.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeYearMonthDateHours.vl b/tests/specs/time/timeYearMonthDateHours.vl
--- a/tests/specs/time/timeYearMonthDateHours.vl
+++ b/tests/specs/time/timeYearMonthDateHours.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeYearMonthDateHoursMinutes.vl b/tests/specs/time/timeYearMonthDateHoursMinutes.vl
--- a/tests/specs/time/timeYearMonthDateHoursMinutes.vl
+++ b/tests/specs/time/timeYearMonthDateHoursMinutes.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/timeYearMonthDateHoursMinutesSeconds.vl b/tests/specs/time/timeYearMonthDateHoursMinutesSeconds.vl
--- a/tests/specs/time/timeYearMonthDateHoursMinutesSeconds.vl
+++ b/tests/specs/time/timeYearMonthDateHoursMinutesSeconds.vl
@@ -1,13 +1,8 @@
 {
-    "mark": {
-        "strokeWidth": 0.2,
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://gicentre.github.io/data/tests/timeTest.tsv"
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -15,12 +10,17 @@
             "type": "temporal"
         },
         "y": {
+            "aggregate": "mean",
             "field": "temperature",
             "scale": {
                 "zero": false
             },
-            "aggregate": "mean",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": {
+        "strokeWidth": 0.2,
+        "type": "line"
+    },
+    "width": 800
 }
diff --git a/tests/specs/time/utcTime.vl b/tests/specs/time/utcTime.vl
--- a/tests/specs/time/utcTime.vl
+++ b/tests/specs/time/utcTime.vl
@@ -1,62 +1,62 @@
 {
-    "mark": "circle",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
+        "format": {
+            "parse": {
+                "date": "utc:'%d %b %Y %H:%M'"
+            }
+        },
         "values": [
             {
-                "value": 1,
-                "date": "28 Oct 2017 22:00"
+                "date": "28 Oct 2017 22:00",
+                "value": 1
             },
             {
-                "value": 2,
-                "date": "28 Oct 2017 23:00"
+                "date": "28 Oct 2017 23:00",
+                "value": 2
             },
             {
-                "value": 3,
-                "date": "29 Oct 2017 00:00"
+                "date": "29 Oct 2017 00:00",
+                "value": 3
             },
             {
-                "value": 4,
-                "date": "29 Oct 2017 01:00"
+                "date": "29 Oct 2017 01:00",
+                "value": 4
             },
             {
-                "value": 5,
-                "date": "29 Oct 2017 02:00"
+                "date": "29 Oct 2017 02:00",
+                "value": 5
             },
             {
-                "value": 6,
-                "date": "29 Oct 2017 03:00"
+                "date": "29 Oct 2017 03:00",
+                "value": 6
             },
             {
-                "value": 7,
-                "date": "29 Oct 2017 04:00"
-            }
-        ],
-        "format": {
-            "parse": {
-                "date": "utc:'%d %b %Y %H:%M'"
+                "date": "29 Oct 2017 04:00",
+                "value": 7
             }
-        }
+        ]
     },
-    "width": 800,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "value": 500
         },
         "x": {
+            "axis": {
+                "format": "%d %b %H:%M"
+            },
             "field": "date",
             "scale": {
                 "type": "utc"
             },
             "timeUnit": "utcyearmonthdatehours",
-            "type": "temporal",
-            "axis": {
-                "format": "%d %b %H:%M"
-            }
+            "type": "temporal"
         },
         "y": {
             "field": "value",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "circle",
+    "width": 800
 }
diff --git a/tests/specs/time/withBar.vl b/tests/specs/time/withBar.vl
--- a/tests/specs/time/withBar.vl
+++ b/tests/specs/time/withBar.vl
@@ -1,9 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -11,9 +10,10 @@
             "type": "temporal"
         },
         "y": {
-            "field": "precipitation",
             "aggregate": "mean",
+            "field": "precipitation",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/time/withBarOrdinal.vl b/tests/specs/time/withBarOrdinal.vl
--- a/tests/specs/time/withBarOrdinal.vl
+++ b/tests/specs/time/withBarOrdinal.vl
@@ -1,9 +1,8 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/seattle-weather.csv"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "date",
@@ -11,9 +10,10 @@
             "type": "ordinal"
         },
         "y": {
-            "field": "precipitation",
             "aggregate": "mean",
+            "field": "precipitation",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/tooltip/notips.vl b/tests/specs/tooltip/notips.vl
--- a/tests/specs/tooltip/notips.vl
+++ b/tests/specs/tooltip/notips.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "tooltip": null,
         "x": {
@@ -51,5 +50,6 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/tooltip/tooltip1.vl b/tests/specs/tooltip/tooltip1.vl
--- a/tests/specs/tooltip/tooltip1.vl
+++ b/tests/specs/tooltip/tooltip1.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "tooltip": {
             "field": "b",
@@ -54,5 +53,6 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/tooltip/tooltip2.vl b/tests/specs/tooltip/tooltip2.vl
--- a/tests/specs/tooltip/tooltip2.vl
+++ b/tests/specs/tooltip/tooltip2.vl
@@ -1,5 +1,5 @@
 {
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -40,7 +40,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "tooltip": [
             {
@@ -60,5 +59,6 @@
             "field": "b",
             "type": "quantitative"
         }
-    }
+    },
+    "mark": "bar"
 }
diff --git a/tests/specs/trail/trail1.vl b/tests/specs/trail/trail1.vl
--- a/tests/specs/trail/trail1.vl
+++ b/tests/specs/trail/trail1.vl
@@ -1,11 +1,8 @@
 {
-    "height": 400,
-    "mark": "trail",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/stocks.csv"
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "symbol",
@@ -16,15 +13,18 @@
             "type": "quantitative"
         },
         "x": {
-            "field": "date",
-            "type": "temporal",
             "axis": {
                 "format": "%Y"
-            }
+            },
+            "field": "date",
+            "type": "temporal"
         },
         "y": {
             "field": "price",
             "type": "quantitative"
         }
-    }
+    },
+    "height": 400,
+    "mark": "trail",
+    "width": 400
 }
diff --git a/tests/specs/trail/trail2.vl b/tests/specs/trail/trail2.vl
--- a/tests/specs/trail/trail2.vl
+++ b/tests/specs/trail/trail2.vl
@@ -1,17 +1,13 @@
 {
-    "mark": {
-        "type": "trail",
-        "order": false
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/driving.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "size": {
             "field": "year",
-            "type": "temporal",
-            "legend": null
+            "legend": null,
+            "type": "temporal"
         },
         "x": {
             "field": "miles",
@@ -27,5 +23,9 @@
             },
             "type": "quantitative"
         }
+    },
+    "mark": {
+        "order": false,
+        "type": "trail"
     }
 }
diff --git a/tests/specs/viewcomposition/columns1.vl b/tests/specs/viewcomposition/columns1.vl
--- a/tests/specs/viewcomposition/columns1.vl
+++ b/tests/specs/viewcomposition/columns1.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,23 +17,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/columns2.vl b/tests/specs/viewcomposition/columns2.vl
--- a/tests/specs/viewcomposition/columns2.vl
+++ b/tests/specs/viewcomposition/columns2.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,26 +17,39 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "labelFontSize": 15,
                 "titleFontSize": 20
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/columns3.vl b/tests/specs/viewcomposition/columns3.vl
--- a/tests/specs/viewcomposition/columns3.vl
+++ b/tests/specs/viewcomposition/columns3.vl
@@ -1,27 +1,14 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "labelFontSize": 15,
             "titleFontSize": 20
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -33,23 +20,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/columns4.vl b/tests/specs/viewcomposition/columns4.vl
--- a/tests/specs/viewcomposition/columns4.vl
+++ b/tests/specs/viewcomposition/columns4.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,32 +17,45 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
-                "titleFontWeight": "normal",
-                "titlePadding": -27,
-                "labelLineHeight": 14,
-                "labelPadding": 40,
-                "labelFontWeight": "bold",
                 "labelBaseline": "line-bottom",
                 "labelFontSize": 15,
-                "titleFontSize": 20
+                "labelFontWeight": "bold",
+                "labelLineHeight": 14,
+                "labelPadding": 40,
+                "titleFontSize": 20,
+                "titleFontWeight": "normal",
+                "titlePadding": -27
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/grid1.vl b/tests/specs/viewcomposition/grid1.vl
--- a/tests/specs/viewcomposition/grid1.vl
+++ b/tests/specs/viewcomposition/grid1.vl
@@ -1,396 +1,412 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
+        "axis": {
+            "disable": true
+        },
+        "facet": {
+            "columns": 5,
+            "spacing": 80
+        },
         "header": {
             "labelFontSize": 0.1
         },
         "view": {
-            "strokeWidth": 2,
             "continuousHeight": 120,
-            "stroke": "black",
             "fill": "gray",
-            "fillOpacity": 0.2
-        },
-        "facet": {
-            "columns": 5,
-            "spacing": 80
-        },
-        "axis": {
-            "disable": true
+            "fillOpacity": 0.2,
+            "stroke": "black",
+            "strokeWidth": 2
         }
     },
     "data": {
         "values": [
             {
                 "cat": 1,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 30
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 15
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 25
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 30
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 25
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 28
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 11
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 18
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 24
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 16
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 29
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 11
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 24
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 26
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 32
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 9
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 18
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 28
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 20
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 24
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 21
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 15
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 20
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 4
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 13
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 27
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 21
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 14
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 5
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 1
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 2
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 11
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 2
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 5
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 14
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 20
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 24
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 20
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 2
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 9
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 15
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 14
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 13
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 22
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 30
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 30
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 8
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 12
             }
         ]
     },
+    "facet": {
+        "column": {
+            "field": "col",
+            "header": {
+                "title": null
+            },
+            "type": "ordinal"
+        },
+        "row": {
+            "field": "row",
+            "title": null,
+            "type": "ordinal"
+        }
+    },
+    "spacing": {
+        "column": 30,
+        "row": 10
+    },
     "spec": {
-        "height": 120,
-        "mark": "bar",
-        "width": 120,
         "encoding": {
             "color": {
                 "field": "cat",
-                "type": "nominal",
-                "legend": null
+                "legend": null,
+                "type": "nominal"
             },
             "x": {
                 "field": "cat",
@@ -400,25 +416,9 @@
                 "field": "val",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "facet": {
-        "row": {
-            "field": "row",
-            "title": null,
-            "type": "ordinal"
         },
-        "column": {
-            "field": "col",
-            "header": {
-                "title": null
-            },
-            "type": "ordinal"
-        }
-    },
-    "spacing": {
-        "row": 10,
-        "column": 30
+        "height": 120,
+        "mark": "bar",
+        "width": 120
     }
 }
diff --git a/tests/specs/viewcomposition/grid2.vl b/tests/specs/viewcomposition/grid2.vl
--- a/tests/specs/viewcomposition/grid2.vl
+++ b/tests/specs/viewcomposition/grid2.vl
@@ -1,402 +1,402 @@
 {
-    "transform": [
-        {
-            "as": "index",
-            "calculate": "datum.row * 1000 + datum.col"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "columns": 5,
     "config": {
+        "axis": {
+            "disable": true
+        },
+        "facet": {
+            "columns": 5,
+            "spacing": 80
+        },
         "header": {
             "labelFontSize": 0.1
         },
         "view": {
-            "strokeWidth": 2,
             "continuousHeight": 120,
-            "stroke": "black",
             "fill": "gray",
-            "fillOpacity": 0.2
-        },
-        "facet": {
-            "columns": 5,
-            "spacing": 80
-        },
-        "axis": {
-            "disable": true
+            "fillOpacity": 0.2,
+            "stroke": "black",
+            "strokeWidth": 2
         }
     },
     "data": {
         "values": [
             {
                 "cat": 1,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 30
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 15
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 25
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 30
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 25
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 28
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 11
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 18
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 24
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 16
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 29
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 11
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 24
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 26
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 32
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 9
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 18
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 28
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 20
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 24
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 21
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 15
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 20
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 4
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 13
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 27
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 21
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 14
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 5
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 1
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 2
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 11
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 2
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 5
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 14
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 20
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 24
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 20
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 2
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 9
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 15
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 14
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 13
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 22
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 30
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 30
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 8
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 12
             }
         ]
     },
+    "facet": {
+        "field": "index",
+        "header": {
+            "title": null
+        },
+        "type": "ordinal"
+    },
     "spec": {
-        "height": 120,
-        "mark": "bar",
-        "width": 120,
         "encoding": {
             "color": {
                 "field": "cat",
-                "type": "nominal",
-                "legend": null
+                "legend": null,
+                "type": "nominal"
             },
             "x": {
                 "field": "cat",
@@ -406,15 +406,15 @@
                 "field": "val",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "columns": 5,
-    "facet": {
-        "field": "index",
-        "header": {
-            "title": null
         },
-        "type": "ordinal"
-    }
+        "height": 120,
+        "mark": "bar",
+        "width": 120
+    },
+    "transform": [
+        {
+            "as": "index",
+            "calculate": "datum.row * 1000 + datum.col"
+        }
+    ]
 }
diff --git a/tests/specs/viewcomposition/grid3.vl b/tests/specs/viewcomposition/grid3.vl
--- a/tests/specs/viewcomposition/grid3.vl
+++ b/tests/specs/viewcomposition/grid3.vl
@@ -1,401 +1,401 @@
 {
-    "transform": [
-        {
-            "as": "index",
-            "calculate": "datum.row * 1000 + datum.col"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "columns": 0,
     "config": {
+        "axis": {
+            "disable": true
+        },
+        "facet": {
+            "spacing": 80
+        },
         "header": {
             "labelFontSize": 0.1
         },
         "view": {
-            "strokeWidth": 2,
             "continuousHeight": 120,
-            "stroke": "black",
             "fill": "gray",
-            "fillOpacity": 0.2
-        },
-        "facet": {
-            "spacing": 80
-        },
-        "axis": {
-            "disable": true
+            "fillOpacity": 0.2,
+            "stroke": "black",
+            "strokeWidth": 2
         }
     },
     "data": {
         "values": [
             {
                 "cat": 1,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 30
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 15
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 1,
+                "row": 1,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 25
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 30
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 2,
+                "row": 1,
                 "val": 25
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 28
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 3,
+                "row": 1,
                 "val": 11
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 18
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 24
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 4,
+                "row": 1,
                 "val": 16
             },
             {
                 "cat": 1,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 3,
-                "row": 1,
                 "col": 5,
+                "row": 1,
                 "val": 10
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 1,
+                "row": 2,
                 "val": 29
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 11
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 24
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 2,
+                "row": 2,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 26
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 32
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 3,
+                "row": 2,
                 "val": 9
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 18
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 4,
+                "row": 2,
                 "val": 28
             },
             {
                 "cat": 1,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 8
             },
             {
                 "cat": 2,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 20
             },
             {
                 "cat": 3,
-                "row": 2,
                 "col": 5,
+                "row": 2,
                 "val": 24
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 21
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 15
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 1,
+                "row": 3,
                 "val": 20
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 4
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 13
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 2,
+                "row": 3,
                 "val": 12
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 27
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 21
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 3,
+                "row": 3,
                 "val": 14
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 5
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 1
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 4,
+                "row": 3,
                 "val": 2
             },
             {
                 "cat": 1,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 11
             },
             {
                 "cat": 2,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 2
             },
             {
                 "cat": 3,
-                "row": 3,
                 "col": 5,
+                "row": 3,
                 "val": 5
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 14
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 20
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 1,
+                "row": 4,
                 "val": 24
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 20
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 2
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 2,
+                "row": 4,
                 "val": 9
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 15
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 14
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 3,
+                "row": 4,
                 "val": 13
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 22
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 30
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 4,
+                "row": 4,
                 "val": 30
             },
             {
                 "cat": 1,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 10
             },
             {
                 "cat": 2,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 8
             },
             {
                 "cat": 3,
-                "row": 4,
                 "col": 5,
+                "row": 4,
                 "val": 12
             }
         ]
     },
+    "facet": {
+        "field": "index",
+        "header": {
+            "title": null
+        },
+        "type": "ordinal"
+    },
     "spec": {
-        "height": 120,
-        "mark": "bar",
-        "width": 120,
         "encoding": {
             "color": {
                 "field": "cat",
-                "type": "nominal",
-                "legend": null
+                "legend": null,
+                "type": "nominal"
             },
             "x": {
                 "field": "cat",
@@ -405,15 +405,15 @@
                 "field": "val",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "columns": 0,
-    "facet": {
-        "field": "index",
-        "header": {
-            "title": null
         },
-        "type": "ordinal"
-    }
+        "height": 120,
+        "mark": "bar",
+        "width": 120
+    },
+    "transform": [
+        {
+            "as": "index",
+            "calculate": "datum.row * 1000 + datum.col"
+        }
+    ]
 }
diff --git a/tests/specs/viewcomposition/grid4.vl b/tests/specs/viewcomposition/grid4.vl
--- a/tests/specs/viewcomposition/grid4.vl
+++ b/tests/specs/viewcomposition/grid4.vl
@@ -1,4 +1,6 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "columns": 3,
     "repeat": [
         "Horsepower",
         "Miles_per_Gallon",
@@ -7,7 +9,6 @@
         "Weight_in_lbs"
     ],
     "spec": {
-        "mark": "bar",
         "data": {
             "url": "https://vega.github.io/vega-lite/data/cars.json"
         },
@@ -17,18 +18,17 @@
                 "type": "nominal"
             },
             "x": {
+                "bin": true,
                 "field": {
                     "repeat": "repeat"
                 },
-                "bin": true,
                 "type": "quantitative"
             },
             "y": {
                 "aggregate": "count",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "columns": 3
+        },
+        "mark": "bar"
+    }
 }
diff --git a/tests/specs/viewcomposition/grid5.vl b/tests/specs/viewcomposition/grid5.vl
--- a/tests/specs/viewcomposition/grid5.vl
+++ b/tests/specs/viewcomposition/grid5.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "repeat": {
         "row": [
             "Horsepower",
@@ -9,7 +10,6 @@
         ]
     },
     "spec": {
-        "mark": "bar",
         "data": {
             "url": "https://vega.github.io/vega-lite/data/cars.json"
         },
@@ -19,17 +19,17 @@
                 "type": "nominal"
             },
             "x": {
+                "bin": true,
                 "field": {
                     "repeat": "row"
                 },
-                "bin": true,
                 "type": "quantitative"
             },
             "y": {
                 "aggregate": "count",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+        },
+        "mark": "bar"
+    }
 }
diff --git a/tests/specs/viewcomposition/groupyage.vl b/tests/specs/viewcomposition/groupyage.vl
--- a/tests/specs/viewcomposition/groupyage.vl
+++ b/tests/specs/viewcomposition/groupyage.vl
@@ -1,29 +1,16 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
-        "view": {
-            "stroke": null
-        },
         "axis": {
             "domainWidth": 1
+        },
+        "view": {
+            "stroke": null
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 12
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -35,26 +22,39 @@
             },
             "type": "nominal"
         },
+        "column": {
+            "field": "age",
+            "spacing": 10,
+            "type": "ordinal"
+        },
         "x": {
-            "field": "gender",
-            "type": "nominal",
             "axis": {
                 "title": null
-            }
-        },
-        "column": {
-            "field": "age",
-            "type": "ordinal",
-            "spacing": 10
+            },
+            "field": "gender",
+            "type": "nominal"
         },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "grid": false,
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 12
     }
 }
diff --git a/tests/specs/viewcomposition/highlightDateTime.vl b/tests/specs/viewcomposition/highlightDateTime.vl
--- a/tests/specs/viewcomposition/highlightDateTime.vl
+++ b/tests/specs/viewcomposition/highlightDateTime.vl
@@ -2,7 +2,6 @@
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": "line",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/stocks.csv"
             },
@@ -19,17 +18,10 @@
                     "field": "price",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         },
         {
-            "mark": {
-                "size": 2,
-                "strokeDash": [
-                    2,
-                    2
-                ],
-                "type": "rule"
-            },
             "data": {
                 "values": {}
             },
@@ -39,6 +31,14 @@
                         "year": 2006
                     }
                 }
+            },
+            "mark": {
+                "size": 2,
+                "strokeDash": [
+                    2,
+                    2
+                ],
+                "type": "rule"
             }
         }
     ]
diff --git a/tests/specs/viewcomposition/highlightvalue.vl b/tests/specs/viewcomposition/highlightvalue.vl
--- a/tests/specs/viewcomposition/highlightvalue.vl
+++ b/tests/specs/viewcomposition/highlightvalue.vl
@@ -2,7 +2,6 @@
     "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": "line",
             "data": {
                 "url": "https://vega.github.io/vega-lite/data/stocks.csv"
             },
@@ -19,17 +18,10 @@
                     "field": "price",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "line"
         },
         {
-            "mark": {
-                "size": 2,
-                "strokeDash": [
-                    2,
-                    2
-                ],
-                "type": "rule"
-            },
             "data": {
                 "values": {}
             },
@@ -37,6 +29,14 @@
                 "y": {
                     "datum": 300
                 }
+            },
+            "mark": {
+                "size": 2,
+                "strokeDash": [
+                    2,
+                    2
+                ],
+                "type": "rule"
             }
         }
     ]
diff --git a/tests/specs/viewcomposition/lorientbottomcnf.vl b/tests/specs/viewcomposition/lorientbottomcnf.vl
--- a/tests/specs/viewcomposition/lorientbottomcnf.vl
+++ b/tests/specs/viewcomposition/lorientbottomcnf.vl
@@ -1,26 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "labelOrient": "bottom"
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,23 +19,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/lorientbottomhdr.vl b/tests/specs/viewcomposition/lorientbottomhdr.vl
--- a/tests/specs/viewcomposition/lorientbottomhdr.vl
+++ b/tests/specs/viewcomposition/lorientbottomhdr.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,25 +17,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "labelOrient": "bottom"
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/lorientrightcnf.vl b/tests/specs/viewcomposition/lorientrightcnf.vl
--- a/tests/specs/viewcomposition/lorientrightcnf.vl
+++ b/tests/specs/viewcomposition/lorientrightcnf.vl
@@ -1,26 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "labelOrient": "right"
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,23 +19,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/lorientrighthdr.vl b/tests/specs/viewcomposition/lorientrighthdr.vl
--- a/tests/specs/viewcomposition/lorientrighthdr.vl
+++ b/tests/specs/viewcomposition/lorientrighthdr.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,25 +17,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "labelOrient": "right"
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/orientbottomcnf.vl b/tests/specs/viewcomposition/orientbottomcnf.vl
--- a/tests/specs/viewcomposition/orientbottomcnf.vl
+++ b/tests/specs/viewcomposition/orientbottomcnf.vl
@@ -1,26 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "orient": "bottom"
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,23 +19,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/orientbottomhdr.vl b/tests/specs/viewcomposition/orientbottomhdr.vl
--- a/tests/specs/viewcomposition/orientbottomhdr.vl
+++ b/tests/specs/viewcomposition/orientbottomhdr.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,25 +17,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "orient": "bottom"
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/orientrightcnf.vl b/tests/specs/viewcomposition/orientrightcnf.vl
--- a/tests/specs/viewcomposition/orientrightcnf.vl
+++ b/tests/specs/viewcomposition/orientrightcnf.vl
@@ -1,26 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "orient": "right"
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,23 +19,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/orientrighthdr.vl b/tests/specs/viewcomposition/orientrighthdr.vl
--- a/tests/specs/viewcomposition/orientrighthdr.vl
+++ b/tests/specs/viewcomposition/orientrighthdr.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,25 +17,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "orient": "right"
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/repeatinglayers.vl b/tests/specs/viewcomposition/repeatinglayers.vl
--- a/tests/specs/viewcomposition/repeatinglayers.vl
+++ b/tests/specs/viewcomposition/repeatinglayers.vl
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
@@ -9,28 +10,27 @@
         ]
     },
     "spec": {
-        "mark": "line",
         "encoding": {
             "color": {
-                "type": "nominal",
                 "datum": {
                     "repeat": "layer"
-                }
+                },
+                "type": "nominal"
             },
             "x": {
-                "field": "IMDB_Rating",
                 "bin": true,
+                "field": "IMDB_Rating",
                 "type": "quantitative"
             },
             "y": {
+                "aggregate": "mean",
                 "field": {
                     "repeat": "layer"
                 },
-                "aggregate": "mean",
                 "title": "Mean of US and Worldwide Gross",
                 "type": "quantitative"
             }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json"
+        },
+        "mark": "line"
+    }
 }
diff --git a/tests/specs/viewcomposition/torientbottomcnf.vl b/tests/specs/viewcomposition/torientbottomcnf.vl
--- a/tests/specs/viewcomposition/torientbottomcnf.vl
+++ b/tests/specs/viewcomposition/torientbottomcnf.vl
@@ -1,26 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "titleOrient": "bottom"
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,23 +19,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/torientbottomhdr.vl b/tests/specs/viewcomposition/torientbottomhdr.vl
--- a/tests/specs/viewcomposition/torientbottomhdr.vl
+++ b/tests/specs/viewcomposition/torientbottomhdr.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,25 +17,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "titleOrient": "bottom"
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/torientrightcnf.vl b/tests/specs/viewcomposition/torientrightcnf.vl
--- a/tests/specs/viewcomposition/torientrightcnf.vl
+++ b/tests/specs/viewcomposition/torientrightcnf.vl
@@ -1,26 +1,13 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {
             "titleOrient": "right"
         }
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -32,23 +19,36 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {},
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/viewcomposition/torientrighthdr.vl b/tests/specs/viewcomposition/torientrighthdr.vl
--- a/tests/specs/viewcomposition/torientrighthdr.vl
+++ b/tests/specs/viewcomposition/torientrighthdr.vl
@@ -1,24 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.year == 2000"
-        },
-        {
-            "as": "gender",
-            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "config": {
         "header": {}
     },
-    "mark": "bar",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/population.json"
     },
-    "width": {
-        "step": 17
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "gender",
@@ -30,25 +17,38 @@
             },
             "type": "nominal"
         },
-        "x": {
-            "field": "age",
-            "type": "ordinal"
-        },
         "column": {
             "field": "gender",
             "header": {
                 "titleOrient": "right"
             },
-            "type": "nominal",
-            "spacing": 0
+            "spacing": 0,
+            "type": "nominal"
         },
+        "x": {
+            "field": "age",
+            "type": "ordinal"
+        },
         "y": {
-            "field": "people",
             "aggregate": "sum",
-            "type": "quantitative",
             "axis": {
                 "title": "Population"
-            }
+            },
+            "field": "people",
+            "type": "quantitative"
         }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.year == 2000"
+        },
+        {
+            "as": "gender",
+            "calculate": "datum.sex == 2 ? 'Female' : 'Male'"
+        }
+    ],
+    "width": {
+        "step": 17
     }
 }
diff --git a/tests/specs/windowtransform/joinAggregate1.vl b/tests/specs/windowtransform/joinAggregate1.vl
--- a/tests/specs/windowtransform/joinAggregate1.vl
+++ b/tests/specs/windowtransform/joinAggregate1.vl
@@ -1,59 +1,59 @@
 {
-    "transform": [
-        {
-            "joinaggregate": [
-                {
-                    "op": "sum",
-                    "as": "TotalTime",
-                    "field": "Time"
-                }
-            ]
-        },
-        {
-            "as": "PercentOfTotal",
-            "calculate": "datum.Time/datum.TotalTime * 100"
-        }
-    ],
-    "height": {
-        "step": 12
-    },
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Time": 8,
-                "Activity": "Sleeping"
+                "Activity": "Sleeping",
+                "Time": 8
             },
             {
-                "Time": 2,
-                "Activity": "Eating"
+                "Activity": "Eating",
+                "Time": 2
             },
             {
-                "Time": 4,
-                "Activity": "TV"
+                "Activity": "TV",
+                "Time": 4
             },
             {
-                "Time": 8,
-                "Activity": "Work"
+                "Activity": "Work",
+                "Time": 8
             },
             {
-                "Time": 2,
-                "Activity": "Exercise"
+                "Activity": "Exercise",
+                "Time": 2
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "PercentOfTotal",
-            "type": "quantitative",
             "axis": {
                 "title": "% of total Time"
-            }
+            },
+            "field": "PercentOfTotal",
+            "type": "quantitative"
         },
         "y": {
             "field": "Activity",
             "type": "nominal"
         }
-    }
+    },
+    "height": {
+        "step": 12
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "joinaggregate": [
+                {
+                    "as": "TotalTime",
+                    "field": "Time",
+                    "op": "sum"
+                }
+            ]
+        },
+        {
+            "as": "PercentOfTotal",
+            "calculate": "datum.Time/datum.TotalTime * 100"
+        }
+    ]
 }
diff --git a/tests/specs/windowtransform/joinAggregate2.vl b/tests/specs/windowtransform/joinAggregate2.vl
--- a/tests/specs/windowtransform/joinAggregate2.vl
+++ b/tests/specs/windowtransform/joinAggregate2.vl
@@ -1,44 +1,44 @@
 {
-    "transform": [
-        {
-            "filter": "datum.IMDB_Rating != null"
-        },
-        {
-            "joinaggregate": [
-                {
-                    "op": "mean",
-                    "as": "AverageRating",
-                    "field": "IMDB_Rating"
-                }
-            ]
-        },
-        {
-            "filter": "(datum.IMDB_Rating - datum.AverageRating) > 2.5"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "IMDB_Rating",
-            "type": "quantitative",
             "axis": {
                 "title": "IMDB Rating"
-            }
+            },
+            "field": "IMDB_Rating",
+            "type": "quantitative"
         },
         "y": {
+            "axis": {
+                "title": ""
+            },
             "field": "Title",
             "sort": {
                 "encoding": "x",
                 "order": "descending"
             },
-            "type": "nominal",
-            "axis": {
-                "title": ""
-            }
+            "type": "nominal"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "filter": "datum.IMDB_Rating != null"
+        },
+        {
+            "joinaggregate": [
+                {
+                    "as": "AverageRating",
+                    "field": "IMDB_Rating",
+                    "op": "mean"
+                }
+            ]
+        },
+        {
+            "filter": "(datum.IMDB_Rating - datum.AverageRating) > 2.5"
+        }
+    ]
 }
diff --git a/tests/specs/windowtransform/joinAggregate3.vl b/tests/specs/windowtransform/joinAggregate3.vl
--- a/tests/specs/windowtransform/joinAggregate3.vl
+++ b/tests/specs/windowtransform/joinAggregate3.vl
@@ -1,4 +1,29 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "encoding": {
+        "x": {
+            "axis": {
+                "title": "IMDB Rating"
+            },
+            "field": "IMDB_Rating",
+            "type": "quantitative"
+        },
+        "y": {
+            "axis": {
+                "title": ""
+            },
+            "field": "Title",
+            "sort": {
+                "encoding": "x",
+                "order": "descending"
+            },
+            "type": "nominal"
+        }
+    },
+    "mark": "bar",
     "transform": [
         {
             "filter": "datum.IMDB_Rating != null"
@@ -14,39 +39,14 @@
             ],
             "joinaggregate": [
                 {
-                    "op": "mean",
                     "as": "AverageYearRating",
-                    "field": "IMDB_Rating"
+                    "field": "IMDB_Rating",
+                    "op": "mean"
                 }
             ]
         },
         {
             "filter": "(datum.IMDB_Rating - datum.AverageYearRating) > 2.5"
         }
-    ],
-    "mark": "bar",
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json"
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "IMDB_Rating",
-            "type": "quantitative",
-            "axis": {
-                "title": "IMDB Rating"
-            }
-        },
-        "y": {
-            "field": "Title",
-            "sort": {
-                "encoding": "x",
-                "order": "descending"
-            },
-            "type": "nominal",
-            "axis": {
-                "title": ""
-            }
-        }
-    }
+    ]
 }
diff --git a/tests/specs/windowtransform/window1.vl b/tests/specs/windowtransform/window1.vl
--- a/tests/specs/windowtransform/window1.vl
+++ b/tests/specs/windowtransform/window1.vl
@@ -1,63 +1,63 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "sum",
-                    "as": "TotalTime",
-                    "field": "Time"
-                }
-            ],
-            "frame": [
-                null,
-                null
-            ]
-        },
-        {
-            "as": "PercentOfTotal",
-            "calculate": "datum.Time/datum.TotalTime * 100"
-        }
-    ],
-    "height": {
-        "step": 12
-    },
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "Time": 8,
-                "Activity": "Sleeping"
+                "Activity": "Sleeping",
+                "Time": 8
             },
             {
-                "Time": 2,
-                "Activity": "Eating"
+                "Activity": "Eating",
+                "Time": 2
             },
             {
-                "Time": 4,
-                "Activity": "TV"
+                "Activity": "TV",
+                "Time": 4
             },
             {
-                "Time": 8,
-                "Activity": "Work"
+                "Activity": "Work",
+                "Time": 8
             },
             {
-                "Time": 2,
-                "Activity": "Exercise"
+                "Activity": "Exercise",
+                "Time": 2
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
-            "field": "PercentOfTotal",
-            "type": "quantitative",
             "axis": {
                 "title": "% of total time"
-            }
+            },
+            "field": "PercentOfTotal",
+            "type": "quantitative"
         },
         "y": {
             "field": "Activity",
             "type": "nominal"
         }
-    }
+    },
+    "height": {
+        "step": 12
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "frame": [
+                null,
+                null
+            ],
+            "window": [
+                {
+                    "as": "TotalTime",
+                    "field": "Time",
+                    "op": "sum"
+                }
+            ]
+        },
+        {
+            "as": "PercentOfTotal",
+            "calculate": "datum.Time/datum.TotalTime * 100"
+        }
+    ]
 }
diff --git a/tests/specs/windowtransform/window2.vl b/tests/specs/windowtransform/window2.vl
--- a/tests/specs/windowtransform/window2.vl
+++ b/tests/specs/windowtransform/window2.vl
@@ -1,58 +1,58 @@
 {
-    "transform": [
-        {
-            "filter": "datum.IMDB_Rating != null"
-        },
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "AverageRating",
-                    "field": "IMDB_Rating"
-                }
-            ],
-            "frame": [
-                null,
-                null
-            ]
-        },
-        {
-            "filter": "(datum.IMDB_Rating - datum.AverageRating) > 2.5"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": "bar",
             "encoding": {
                 "x": {
-                    "field": "IMDB_Rating",
-                    "type": "quantitative",
                     "axis": {
                         "title": "IMDB Rating"
-                    }
+                    },
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
                 },
                 "y": {
                     "field": "Title",
                     "type": "ordinal"
                 }
-            }
+            },
+            "mark": "bar"
         },
         {
-            "mark": {
-                "color": "red",
-                "type": "rule"
-            },
             "encoding": {
                 "x": {
-                    "field": "AverageRating",
                     "aggregate": "mean",
+                    "field": "AverageRating",
                     "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "type": "rule"
             }
+        }
+    ],
+    "transform": [
+        {
+            "filter": "datum.IMDB_Rating != null"
+        },
+        {
+            "frame": [
+                null,
+                null
+            ],
+            "window": [
+                {
+                    "as": "AverageRating",
+                    "field": "IMDB_Rating",
+                    "op": "mean"
+                }
+            ]
+        },
+        {
+            "filter": "(datum.IMDB_Rating - datum.AverageRating) > 2.5"
         }
     ]
 }
diff --git a/tests/specs/windowtransform/window3.vl b/tests/specs/windowtransform/window3.vl
--- a/tests/specs/windowtransform/window3.vl
+++ b/tests/specs/windowtransform/window3.vl
@@ -1,64 +1,34 @@
 {
-    "transform": [
-        {
-            "filter": "datum.IMDB_Rating != null"
-        },
-        {
-            "as": "year",
-            "field": "Release_Date",
-            "timeUnit": "year"
-        },
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "AverageYearRating",
-                    "field": "IMDB_Rating"
-                }
-            ],
-            "groupby": [
-                "year"
-            ],
-            "frame": [
-                null,
-                null
-            ]
-        },
-        {
-            "filter": "(datum.IMDB_Rating - datum.AverageYearRating) > 2.5"
-        }
-    ],
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json",
         "format": {
             "parse": {
                 "Release_Date": "date:'%b %d %Y'"
             }
-        }
+        },
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "layer": [
         {
-            "mark": {
-                "type": "bar",
-                "clip": true
-            },
             "encoding": {
                 "x": {
-                    "field": "IMDB_Rating",
-                    "type": "quantitative",
                     "axis": {
                         "title": "IMDB Rating"
-                    }
+                    },
+                    "field": "IMDB_Rating",
+                    "type": "quantitative"
                 },
                 "y": {
                     "field": "Title",
                     "type": "ordinal"
                 }
+            },
+            "mark": {
+                "clip": true,
+                "type": "bar"
             }
         },
         {
-            "mark": "tick",
             "encoding": {
                 "color": {
                     "value": "red"
@@ -71,7 +41,37 @@
                     "field": "Title",
                     "type": "ordinal"
                 }
-            }
+            },
+            "mark": "tick"
+        }
+    ],
+    "transform": [
+        {
+            "filter": "datum.IMDB_Rating != null"
+        },
+        {
+            "as": "year",
+            "field": "Release_Date",
+            "timeUnit": "year"
+        },
+        {
+            "frame": [
+                null,
+                null
+            ],
+            "groupby": [
+                "year"
+            ],
+            "window": [
+                {
+                    "as": "AverageYearRating",
+                    "field": "IMDB_Rating",
+                    "op": "mean"
+                }
+            ]
+        },
+        {
+            "filter": "(datum.IMDB_Rating - datum.AverageYearRating) > 2.5"
         }
     ]
 }
diff --git a/tests/specs/windowtransform/window4.vl b/tests/specs/windowtransform/window4.vl
--- a/tests/specs/windowtransform/window4.vl
+++ b/tests/specs/windowtransform/window4.vl
@@ -1,4 +1,31 @@
 {
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "data": {
+        "format": {
+            "parse": {
+                "Release_Date": "date:'%b %d %Y'"
+            }
+        },
+        "url": "https://vega.github.io/vega-lite/data/movies.json"
+    },
+    "encoding": {
+        "x": {
+            "field": "Release_Date",
+            "type": "temporal"
+        },
+        "y": {
+            "axis": {
+                "title": "Residual"
+            },
+            "field": "RatingDelta",
+            "type": "quantitative"
+        }
+    },
+    "mark": {
+        "opacity": 0.3,
+        "strokeWidth": 0.3,
+        "type": "point"
+    },
     "transform": [
         {
             "filter": "datum.IMDB_Rating != null"
@@ -15,48 +42,21 @@
             }
         },
         {
+            "frame": [
+                null,
+                null
+            ],
             "window": [
                 {
-                    "op": "mean",
                     "as": "AverageRating",
-                    "field": "IMDB_Rating"
+                    "field": "IMDB_Rating",
+                    "op": "mean"
                 }
-            ],
-            "frame": [
-                null,
-                null
             ]
         },
         {
             "as": "RatingDelta",
             "calculate": "datum.IMDB_Rating - datum.AverageRating"
         }
-    ],
-    "mark": {
-        "strokeWidth": 0.3,
-        "opacity": 0.3,
-        "type": "point"
-    },
-    "data": {
-        "url": "https://vega.github.io/vega-lite/data/movies.json",
-        "format": {
-            "parse": {
-                "Release_Date": "date:'%b %d %Y'"
-            }
-        }
-    },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
-    "encoding": {
-        "x": {
-            "field": "Release_Date",
-            "type": "temporal"
-        },
-        "y": {
-            "field": "RatingDelta",
-            "type": "quantitative",
-            "axis": {
-                "title": "Residual"
-            }
-        }
-    }
+    ]
 }
diff --git a/tests/specs/windowtransform/window5.vl b/tests/specs/windowtransform/window5.vl
--- a/tests/specs/windowtransform/window5.vl
+++ b/tests/specs/windowtransform/window5.vl
@@ -1,94 +1,69 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "rank"
-                }
-            ],
-            "groupby": [
-                "matchday"
-            ],
-            "sort": [
-                {
-                    "field": "point",
-                    "order": "descending"
-                }
-            ]
-        }
-    ],
-    "height": 400,
-    "mark": {
-        "orient": "vertical",
-        "type": "line"
-    },
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
-                "point": 3,
                 "matchday": 1,
+                "point": 3,
                 "team": "Man Utd"
             },
             {
-                "point": 1,
                 "matchday": 1,
+                "point": 1,
                 "team": "Chelsea"
             },
             {
-                "point": 1,
                 "matchday": 1,
+                "point": 1,
                 "team": "Man City"
             },
             {
-                "point": 0,
                 "matchday": 1,
+                "point": 0,
                 "team": "Spurs"
             },
             {
-                "point": 6,
                 "matchday": 2,
+                "point": 6,
                 "team": "Man Utd"
             },
             {
-                "point": 1,
                 "matchday": 2,
+                "point": 1,
                 "team": "Chelsea"
             },
             {
-                "point": 0,
                 "matchday": 2,
+                "point": 0,
                 "team": "Man City"
             },
             {
-                "point": 3,
                 "matchday": 2,
+                "point": 3,
                 "team": "Spurs"
             },
             {
-                "point": 9,
                 "matchday": 3,
+                "point": 9,
                 "team": "Man Utd"
             },
             {
-                "point": 1,
                 "matchday": 3,
+                "point": 1,
                 "team": "Chelsea"
             },
             {
-                "point": 0,
                 "matchday": 3,
+                "point": 0,
                 "team": "Man City"
             },
             {
-                "point": 6,
                 "matchday": 3,
+                "point": 6,
                 "team": "Spurs"
             }
         ]
     },
-    "width": 400,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "color": {
             "field": "team",
@@ -116,5 +91,30 @@
             "field": "rank",
             "type": "ordinal"
         }
-    }
+    },
+    "height": 400,
+    "mark": {
+        "orient": "vertical",
+        "type": "line"
+    },
+    "transform": [
+        {
+            "groupby": [
+                "matchday"
+            ],
+            "sort": [
+                {
+                    "field": "point",
+                    "order": "descending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "rank"
+                }
+            ]
+        }
+    ],
+    "width": 400
 }
diff --git a/tests/specs/windowtransform/window6.vl b/tests/specs/windowtransform/window6.vl
--- a/tests/specs/windowtransform/window6.vl
+++ b/tests/specs/windowtransform/window6.vl
@@ -1,24 +1,5 @@
 {
-    "transform": [
-        {
-            "window": [
-                {
-                    "op": "rank",
-                    "as": "rank"
-                }
-            ],
-            "sort": [
-                {
-                    "field": "score",
-                    "order": "descending"
-                }
-            ]
-        },
-        {
-            "filter": "datum.rank <= 5"
-        }
-    ],
-    "mark": "bar",
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "values": [
             {
@@ -111,7 +92,6 @@
             }
         ]
     },
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "encoding": {
         "x": {
             "field": "score",
@@ -120,11 +100,31 @@
         "y": {
             "field": "student",
             "sort": {
-                "op": "mean",
                 "field": "score",
+                "op": "mean",
                 "order": "descending"
             },
             "type": "nominal"
         }
-    }
+    },
+    "mark": "bar",
+    "transform": [
+        {
+            "sort": [
+                {
+                    "field": "score",
+                    "order": "descending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "rank",
+                    "op": "rank"
+                }
+            ]
+        },
+        {
+            "filter": "datum.rank <= 5"
+        }
+    ]
 }
diff --git a/tests/specs/windowtransform/window7.vl b/tests/specs/windowtransform/window7.vl
--- a/tests/specs/windowtransform/window7.vl
+++ b/tests/specs/windowtransform/window7.vl
@@ -1,43 +1,11 @@
 {
-    "transform": [
-        {
-            "filter": "datum.Miles_per_Gallon !== null"
-        },
-        {
-            "as": "year",
-            "field": "Year",
-            "timeUnit": "year"
-        },
-        {
-            "window": [
-                {
-                    "op": "mean",
-                    "as": "Average_MPG",
-                    "field": "Miles_per_Gallon"
-                }
-            ],
-            "sort": [
-                {
-                    "field": "year",
-                    "order": "ascending"
-                }
-            ],
-            "frame": [
-                null,
-                0
-            ],
-            "ignorePeers": false
-        }
-    ],
-    "height": 400,
+    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
     "data": {
         "url": "https://vega.github.io/vega-lite/data/cars.json"
     },
-    "width": 500,
-    "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
+    "height": 400,
     "layer": [
         {
-            "mark": "circle",
             "encoding": {
                 "x": {
                     "field": "Year",
@@ -48,13 +16,10 @@
                     "field": "Miles_per_Gallon",
                     "type": "quantitative"
                 }
-            }
+            },
+            "mark": "circle"
         },
         {
-            "mark": {
-                "color": "red",
-                "type": "line"
-            },
             "encoding": {
                 "x": {
                     "field": "Year",
@@ -62,13 +27,48 @@
                     "type": "temporal"
                 },
                 "y": {
-                    "field": "Average_MPG",
-                    "type": "quantitative",
                     "axis": {
                         "title": "Miles per gallon"
-                    }
+                    },
+                    "field": "Average_MPG",
+                    "type": "quantitative"
                 }
+            },
+            "mark": {
+                "color": "red",
+                "type": "line"
             }
         }
-    ]
+    ],
+    "transform": [
+        {
+            "filter": "datum.Miles_per_Gallon !== null"
+        },
+        {
+            "as": "year",
+            "field": "Year",
+            "timeUnit": "year"
+        },
+        {
+            "frame": [
+                null,
+                0
+            ],
+            "ignorePeers": false,
+            "sort": [
+                {
+                    "field": "year",
+                    "order": "ascending"
+                }
+            ],
+            "window": [
+                {
+                    "as": "Average_MPG",
+                    "field": "Miles_per_Gallon",
+                    "op": "mean"
+                }
+            ]
+        }
+    ],
+    "width": 500
 }
