[{"data":1,"prerenderedAt":3269},["ShallowReactive",2],{"navigation_docs":3,"-manifest-schema":93,"-manifest-schema-surround":3264},[4,41,46,89],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":40},"Learn","i-lucide-book-open","\u002Flearn","1.learn",[10,15,20,25,30,35],{"title":11,"path":12,"stem":13,"icon":14},"What visual regression testing is","\u002Flearn\u002Fwhat-is-visual-regression-testing","1.learn\u002F1.what-is-visual-regression-testing","i-lucide-eye",{"title":16,"path":17,"stem":18,"icon":19},"How image diffing works","\u002Flearn\u002Fhow-image-diffing-works","1.learn\u002F2.how-image-diffing-works","i-lucide-diff",{"title":21,"path":22,"stem":23,"icon":24},"Why screenshots flake","\u002Flearn\u002Fwhy-screenshots-flake","1.learn\u002F3.why-screenshots-flake","i-lucide-shuffle",{"title":26,"path":27,"stem":28,"icon":29},"Baselines and approval","\u002Flearn\u002Fbaselines-and-approval","1.learn\u002F4.baselines-and-approval","i-lucide-check-check",{"title":31,"path":32,"stem":33,"icon":34},"Running in CI","\u002Flearn\u002Frunning-in-ci","1.learn\u002F5.running-in-ci","i-lucide-workflow",{"title":36,"path":37,"stem":38,"icon":39},"Choosing a tool","\u002Flearn\u002Fchoosing-a-tool","1.learn\u002F6.choosing-a-tool","i-lucide-list-checks",false,{"title":42,"path":43,"stem":44,"icon":45},"Compare the tools","\u002Fcompare","2.compare","i-lucide-scale",{"title":47,"path":48,"stem":49,"children":50,"icon":53},"Manifest","\u002Fmanifest","3.manifest\u002F1.index",[51,54,59,64,69,74,79,84],{"title":52,"path":48,"stem":49,"icon":53},"The run manifest","i-lucide-file-json",{"title":55,"path":56,"stem":57,"icon":58},"The format","\u002Fmanifest\u002Fformat","3.manifest\u002F2.format","i-lucide-file-code",{"title":60,"path":61,"stem":62,"icon":63},"Reading manifests","\u002Fmanifest\u002Freading","3.manifest\u002F3.reading","i-lucide-book-open-check",{"title":65,"path":66,"stem":67,"icon":68},"Merging the manifests of a run","\u002Fmanifest\u002Fmerging","3.manifest\u002F4.merging","i-lucide-merge",{"title":70,"path":71,"stem":72,"icon":73},"Writing manifests","\u002Fmanifest\u002Fwriting","3.manifest\u002F5.writing","i-lucide-pencil-line",{"title":75,"path":76,"stem":77,"icon":78},"Converting to and from other formats","\u002Fmanifest\u002Fconverting","3.manifest\u002F6.converting","i-lucide-arrow-left-right",{"title":80,"path":81,"stem":82,"icon":83},"Reference","\u002Fmanifest\u002Freference","3.manifest\u002F7.reference","i-lucide-list",{"title":85,"path":86,"stem":87,"icon":88},"Schema reference","\u002Fmanifest\u002Fschema","3.manifest\u002F8.schema","i-lucide-braces",{"title":90,"path":91,"stem":92,"icon":14},"Viewer","\u002Fviewer","4.viewer",{"id":94,"title":85,"body":95,"description":3256,"extension":3257,"links":3258,"meta":3259,"navigation":3261,"path":86,"seo":3262,"stem":87,"__hash__":3263},"docs\u002F3.manifest\u002F8.schema.md",{"type":96,"value":97,"toc":3219},"minimark",[98,119,138,143,419,421,428,431,489,510,512,517,573,575,581,701,703,740,805,808,875,877,880,1050,1055,1110,1114,1184,1188,1241,1244,1284,1286,1317,1588,1590,1599,1780,1784,1786,1854,1856,1859,1919,1922,2002,2005,2013,2093,2096,2099,2151,2153,2189,2192,2195,2201,2357,2360,2365,2369,2376,2518,2520,2545,2840,2844,2915,2919,2965,2969,3033,3038,3066,3071,3073,3152,3156,3160],[99,100,101,102,110,111,114,115,118],"p",{},"The normative description of the format is the JSON Schema (draft 2020-12) at ",[103,104,106],"a",{"href":105},"\u002Fschema\u002Fv1.json",[107,108,109],"code",{},"https:\u002F\u002Fvisual-regression.dev\u002Fschema\u002Fv1.json",", shipped in the ",[107,112,113],{},"visual-regression-manifest"," package as ",[107,116,117],{},"schema.json",". This page is generated from it.",[99,120,121,122,125,126,129,130,133,134,137],{},"A machine-readable record of every screenshot comparison made during a test run, written by a visual regression tool and read by CI tooling (PR comment bots, review dashboards, approval tools). Runner-agnostic: everything specific to the test runner lives in ",[107,123,124],{},"runner",". The envelope, the CI block and the open ",[107,127,128],{},"extra"," objects follow CTRF (ctrf.io) naming so a manifest maps onto a CTRF report without loss; see the ",[107,131,132],{},"toCtrf","\u002F",[107,135,136],{},"fromCtrf"," converters. Consumers must ignore keys they do not know.",[139,140,142],"h2",{"id":141},"top-level","Top level",[144,145,146,165],"table",{},[147,148,149],"thead",{},[150,151,152,156,159,162],"tr",{},[153,154,155],"th",{},"field",[153,157,158],{},"type",[153,160,161],{},"required",[153,163,164],{},"description",[166,167,168,191,206,224,240,258,274,304,320,339,354,370,386,404],"tbody",{},[150,169,170,176,181,184],{},[171,172,173],"td",{},[107,174,175],{},"reportFormat",[171,177,178],{},[107,179,180],{},"\"visual-regression-manifest\"",[171,182,183],{},"yes",[171,185,186,187,190],{},"Identifies the document as a visual regression manifest (CTRF has ",[107,188,189],{},"reportFormat: \"CTRF\"",").",[150,192,193,198,201,203],{},[171,194,195],{},[107,196,197],{},"specVersion",[171,199,200],{},"string",[171,202,183],{},[171,204,205],{},"Version of this format (semver). The major is bumped on breaking changes only; readers accept every version with the major they know.",[150,207,208,213,219,221],{},[171,209,210],{},[107,211,212],{},"createdAt",[171,214,215],{},[103,216,218],{"href":217},"#timestamp","timestamp",[171,220,183],{},[171,222,223],{},"When the run started (ISO 8601).",[150,225,226,231,235,237],{},[171,227,228],{},[107,229,230],{},"updatedAt",[171,232,233],{},[103,234,218],{"href":217},[171,236,183],{},[171,238,239],{},"When the file was last written (ISO 8601). Writers rewrite the file after every comparison, so a manifest is complete even when the run was aborted.",[150,241,242,247,249,251],{},[171,243,244],{},[107,245,246],{},"projectRoot",[171,248,200],{},[171,250,183],{},[171,252,253,254,257],{},"Absolute path (on the machine that ran the tests) that every relative path in the manifest resolves against. Not necessarily the repository root: ",[107,255,256],{},"ci.workspace"," is the checkout directory.",[150,259,260,265,270,272],{},[171,261,262],{},[107,263,264],{},"platform",[171,266,267],{},[103,268,264],{"href":269},"#platform",[171,271,183],{},[171,273],{},[150,275,276,281,287,289],{},[171,277,278],{},[107,279,280],{},"ci",[171,282,283,284],{},"null | ",[103,285,280],{"href":286},"#ci",[171,288,183],{},[171,290,291,292,295,296,299,300,303],{},"CI metadata detected from environment variables. ",[107,293,294],{},"null"," outside CI, ",[107,297,298],{},"{ \"provider\": null }"," when only a generic ",[107,301,302],{},"CI"," flag was set.",[150,305,306,311,316,318],{},[171,307,308],{},[107,309,310],{},"tool",[171,312,313],{},[103,314,310],{"href":315},"#tool",[171,317,183],{},[171,319],{},[150,321,322,327,330,332],{},[171,323,324],{},[107,325,326],{},"options",[171,328,329],{},"object",[171,331,183],{},[171,333,334,335,338],{},"Global tool options as configured, in the writer's vocabulary (for the Cypress plugin: every ",[107,336,337],{},"pluginVisualRegression*"," option with the prefix stripped).",[150,340,341,345,350,352],{},[171,342,343],{},[107,344,124],{},[171,346,347],{},[103,348,124],{"href":349},"#runner",[171,351,183],{},[171,353],{},[150,355,356,361,366,368],{},[171,357,358],{},[107,359,360],{},"upload",[171,362,363],{},[103,364,360],{"href":365},"#upload",[171,367],{},[171,369],{},[150,371,372,377,382,384],{},[171,373,374],{},[107,375,376],{},"summary",[171,378,379],{},[103,380,376],{"href":381},"#summary",[171,383,183],{},[171,385],{},[150,387,388,393,400,402],{},[171,389,390],{},[107,391,392],{},"entries",[171,394,395,396],{},"array of ",[103,397,399],{"href":398},"#entry","entry",[171,401,183],{},[171,403],{},[150,405,406,410,415,417],{},[171,407,408],{},[107,409,128],{},[171,411,412],{},[103,413,128],{"href":414},"#extra",[171,416],{},[171,418],{},[139,420,218],{"id":218},[99,422,423,424,427],{},"Type: string, matching ",[107,425,426],{},"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$",".",[139,429,430],{"id":430},"status",[99,432,433,436,437,440,441,444,445,448,449,452,453,456,457,460,461,464,465,444,467,469,470,472,473,444,475,477,478,477,480,482,483,485,486,427],{},[107,434,435],{},"passed",": within threshold. ",[107,438,439],{},"failed",": above threshold, ",[107,442,443],{},".actual"," and ",[107,446,447],{},".diff"," images kept for review. ",[107,450,451],{},"missing-baseline",": no baseline and the tool was told not to create one. ",[107,454,455],{},"created",": no baseline, the actual image became the baseline. ",[107,458,459],{},"updated",": the baseline was overwritten on request. ",[107,462,463],{},"approved",": the baseline was replaced from a review UI. ",[107,466,439],{},[107,468,451],{}," are the entries that need a human. In CTRF terms ",[107,471,451],{}," is ",[107,474,439],{},[107,476,455],{},", ",[107,479,459],{},[107,481,463],{}," are ",[107,484,435],{},", with the manifest status kept in ",[107,487,488],{},"rawStatus",[99,490,491,492,477,495,477,498,477,501,477,504,477,507,427],{},"One of ",[107,493,494],{},"\"passed\"",[107,496,497],{},"\"failed\"",[107,499,500],{},"\"missing-baseline\"",[107,502,503],{},"\"created\"",[107,505,506],{},"\"updated\"",[107,508,509],{},"\"approved\"",[139,511,310],{"id":310},[99,513,514,515,427],{},"What wrote the manifest: a visual regression plugin, a converter, a review tool. Same shape as CTRF's ",[107,516,310],{},[144,518,519,531],{},[147,520,521],{},[150,522,523,525,527,529],{},[153,524,155],{},[153,526,158],{},[153,528,161],{},[153,530,164],{},[166,532,533,546,559],{},[150,534,535,540,542,544],{},[171,536,537],{},[107,538,539],{},"name",[171,541,200],{},[171,543,183],{},[171,545],{},[150,547,548,553,555,557],{},[171,549,550],{},[107,551,552],{},"version",[171,554,200],{},[171,556],{},[171,558],{},[150,560,561,565,569,571],{},[171,562,563],{},[107,564,128],{},[171,566,567],{},[103,568,128],{"href":414},[171,570],{},[171,572],{},[139,574,376],{"id":376},[99,576,577,578,580],{},"Counts over ",[107,579,392],{},", so a consumer can tell whether a human is needed without reading them all. Writers recompute it on every write; readers merging several manifests recompute it from the merged entries.",[144,582,583,595],{},[147,584,585],{},[150,586,587,589,591,593],{},[153,588,155],{},[153,590,158],{},[153,592,161],{},[153,594,164],{},[166,596,597,610,622,634,647,659,671,683],{},[150,598,599,603,606,608],{},[171,600,601],{},[107,602,392],{},[171,604,605],{},"integer",[171,607,183],{},[171,609],{},[150,611,612,616,618,620],{},[171,613,614],{},[107,615,435],{},[171,617,605],{},[171,619,183],{},[171,621],{},[150,623,624,628,630,632],{},[171,625,626],{},[107,627,439],{},[171,629,605],{},[171,631,183],{},[171,633],{},[150,635,636,641,643,645],{},[171,637,638],{},[107,639,640],{},"missingBaseline",[171,642,605],{},[171,644,183],{},[171,646],{},[150,648,649,653,655,657],{},[171,650,651],{},[107,652,455],{},[171,654,605],{},[171,656,183],{},[171,658],{},[150,660,661,665,667,669],{},[171,662,663],{},[107,664,459],{},[171,666,605],{},[171,668,183],{},[171,670],{},[150,672,673,677,679,681],{},[171,674,675],{},[107,676,463],{},[171,678,605],{},[171,680,183],{},[171,682],{},[150,684,685,690,692,694],{},[171,686,687],{},[107,688,689],{},"needsHuman",[171,691,605],{},[171,693,183],{},[171,695,696,698,699,427],{},[107,697,439],{}," + ",[107,700,640],{},[139,702,264],{"id":264},[99,704,705,706,709,710,713,714,717,718,721,722,477,725,477,728,731,732,735,736,739],{},"The machine that ran the tests (the host), which is not necessarily the device under test: for a mobile or remote-device run see the entries' ",[107,707,708],{},"target",". Named like CTRF's ",[107,711,712],{},"environment",": ",[107,715,716],{},"osPlatform"," is an open string (Node-based writers use ",[107,719,720],{},"process.platform"," names: ",[107,723,724],{},"linux",[107,726,727],{},"darwin",[107,729,730],{},"win32","), ",[107,733,734],{},"osRelease"," the kernel release, ",[107,737,738],{},"osVersion"," the human-readable OS version.",[144,741,742,754],{},[147,743,744],{},[150,745,746,748,750,752],{},[153,747,155],{},[153,749,158],{},[153,751,161],{},[153,753,164],{},[166,755,756,768,781,793],{},[150,757,758,762,764,766],{},[171,759,760],{},[107,761,716],{},[171,763,200],{},[171,765,183],{},[171,767],{},[150,769,770,775,777,779],{},[171,771,772],{},[107,773,774],{},"arch",[171,776,200],{},[171,778,183],{},[171,780],{},[150,782,783,787,789,791],{},[171,784,785],{},[107,786,734],{},[171,788,200],{},[171,790],{},[171,792],{},[150,794,795,799,801,803],{},[171,796,797],{},[107,798,738],{},[171,800,200],{},[171,802],{},[171,804],{},[139,806,807],{"id":807},"browser",[144,809,810,822],{},[147,811,812],{},[150,813,814,816,818,820],{},[153,815,155],{},[153,817,158],{},[153,819,161],{},[153,821,164],{},[166,823,824,836,848,861],{},[150,825,826,830,832,834],{},[171,827,828],{},[107,829,539],{},[171,831,200],{},[171,833,183],{},[171,835],{},[150,837,838,842,844,846],{},[171,839,840],{},[107,841,552],{},[171,843,200],{},[171,845],{},[171,847],{},[150,849,850,855,857,859],{},[171,851,852],{},[107,853,854],{},"family",[171,856,200],{},[171,858],{},[171,860],{},[150,862,863,868,871,873],{},[171,864,865],{},[107,866,867],{},"headless",[171,869,870],{},"boolean",[171,872],{},[171,874],{},[139,876,708],{"id":708},[99,878,879],{},"What was captured, for tools that are not a browser: a desktop or mobile application on a device, an emulator or a remote farm. Everything is optional; unknown keys are allowed.",[144,881,882,894],{},[147,883,884],{},[150,885,886,888,890,892],{},[153,887,155],{},[153,889,158],{},[153,891,161],{},[153,893,164],{},[166,895,896,922,935,947,959,972,985,998,1011,1024,1037],{},[150,897,898,903,905,907],{},[171,899,900],{},[107,901,902],{},"kind",[171,904,200],{},[171,906],{},[171,908,909,910,477,912,477,915,477,918,921],{},"Known values: ",[107,911,807],{},[107,913,914],{},"desktop",[107,916,917],{},"mobile",[107,919,920],{},"embedded","; free-form otherwise.",[150,923,924,929,931,933],{},[171,925,926],{},[107,927,928],{},"os",[171,930,200],{},[171,932],{},[171,934],{},[150,936,937,941,943,945],{},[171,938,939],{},[107,940,738],{},[171,942,200],{},[171,944],{},[171,946],{},[150,948,949,953,955,957],{},[171,950,951],{},[107,952,774],{},[171,954,200],{},[171,956],{},[171,958],{},[150,960,961,966,968,970],{},[171,962,963],{},[107,964,965],{},"device",[171,967,329],{},[171,969],{},[171,971],{},[150,973,974,979,981,983],{},[171,975,976],{},[107,977,978],{},"display",[171,980,329],{},[171,982],{},[171,984],{},[150,986,987,992,994,996],{},[171,988,989],{},[107,990,991],{},"locale",[171,993,200],{},[171,995],{},[171,997],{},[150,999,1000,1005,1007,1009],{},[171,1001,1002],{},[107,1003,1004],{},"theme",[171,1006,200],{},[171,1008],{},[171,1010],{},[150,1012,1013,1018,1020,1022],{},[171,1014,1015],{},[107,1016,1017],{},"app",[171,1019,329],{},[171,1021],{},[171,1023],{},[150,1025,1026,1031,1033,1035],{},[171,1027,1028],{},[107,1029,1030],{},"driver",[171,1032,200],{},[171,1034],{},[171,1036],{},[150,1038,1039,1044,1046,1048],{},[171,1040,1041],{},[107,1042,1043],{},"emulated",[171,1045,870],{},[171,1047],{},[171,1049],{},[1051,1052,1053],"h3",{"id":965},[107,1054,965],{},[144,1056,1057,1069],{},[147,1058,1059],{},[150,1060,1061,1063,1065,1067],{},[153,1062,155],{},[153,1064,158],{},[153,1066,161],{},[153,1068,164],{},[166,1070,1071,1084,1097],{},[150,1072,1073,1078,1080,1082],{},[171,1074,1075],{},[107,1076,1077],{},"model",[171,1079,200],{},[171,1081],{},[171,1083],{},[150,1085,1086,1091,1093,1095],{},[171,1087,1088],{},[107,1089,1090],{},"id",[171,1092,200],{},[171,1094],{},[171,1096],{},[150,1098,1099,1104,1106,1108],{},[171,1100,1101],{},[107,1102,1103],{},"formFactor",[171,1105,200],{},[171,1107],{},[171,1109],{},[1051,1111,1112],{"id":978},[107,1113,978],{},[144,1115,1116,1128],{},[147,1117,1118],{},[150,1119,1120,1122,1124,1126],{},[153,1121,155],{},[153,1123,158],{},[153,1125,161],{},[153,1127,164],{},[166,1129,1130,1144,1157,1171],{},[150,1131,1132,1137,1140,1142],{},[171,1133,1134],{},[107,1135,1136],{},"width",[171,1138,1139],{},"number",[171,1141],{},[171,1143],{},[150,1145,1146,1151,1153,1155],{},[171,1147,1148],{},[107,1149,1150],{},"height",[171,1152,1139],{},[171,1154],{},[171,1156],{},[150,1158,1159,1164,1166,1168],{},[171,1160,1161],{},[107,1162,1163],{},"density",[171,1165,1139],{},[171,1167],{},[171,1169,1170],{},"Device pixels per logical pixel (scale factor \u002F dpr).",[150,1172,1173,1178,1180,1182],{},[171,1174,1175],{},[107,1176,1177],{},"orientation",[171,1179,200],{},[171,1181],{},[171,1183],{},[1051,1185,1186],{"id":1017},[107,1187,1017],{},[144,1189,1190,1202],{},[147,1191,1192],{},[150,1193,1194,1196,1198,1200],{},[153,1195,155],{},[153,1197,158],{},[153,1199,161],{},[153,1201,164],{},[166,1203,1204,1216,1228],{},[150,1205,1206,1210,1212,1214],{},[171,1207,1208],{},[107,1209,1090],{},[171,1211,200],{},[171,1213],{},[171,1215],{},[150,1217,1218,1222,1224,1226],{},[171,1219,1220],{},[107,1221,552],{},[171,1223,200],{},[171,1225],{},[171,1227],{},[150,1229,1230,1235,1237,1239],{},[171,1231,1232],{},[107,1233,1234],{},"build",[171,1236,200],{},[171,1238],{},[171,1240],{},[139,1242,1243],{"id":1243},"viewport",[144,1245,1246,1258],{},[147,1247,1248],{},[150,1249,1250,1252,1254,1256],{},[153,1251,155],{},[153,1253,158],{},[153,1255,161],{},[153,1257,164],{},[166,1259,1260,1272],{},[150,1261,1262,1266,1268,1270],{},[171,1263,1264],{},[107,1265,1136],{},[171,1267,1139],{},[171,1269,183],{},[171,1271],{},[150,1273,1274,1278,1280,1282],{},[171,1275,1276],{},[107,1277,1150],{},[171,1279,1139],{},[171,1281,183],{},[171,1283],{},[139,1285,280],{"id":280},[99,1287,1288,1289,1291,1292,477,1295,477,1298,477,1301,477,1304,477,1307,477,1310,477,1313,1316],{},"Where the run happened. Keys that have a CTRF ",[107,1290,712],{}," equivalent carry its name (",[107,1293,1294],{},"commit",[107,1296,1297],{},"branchName",[107,1299,1300],{},"repositoryName",[107,1302,1303],{},"repositoryUrl",[107,1305,1306],{},"buildId",[107,1308,1309],{},"buildName",[107,1311,1312],{},"buildNumber",[107,1314,1315],{},"buildUrl","); the rest is what CTRF lacks.",[144,1318,1319,1331],{},[147,1320,1321],{},[150,1322,1323,1325,1327,1329],{},[153,1324,155],{},[153,1326,158],{},[153,1328,161],{},[153,1330,164],{},[166,1332,1333,1357,1377,1389,1409,1422,1434,1448,1461,1485,1498,1510,1523,1535,1548,1561,1574],{},[150,1334,1335,1340,1343,1345],{},[171,1336,1337],{},[107,1338,1339],{},"provider",[171,1341,1342],{},"string | null",[171,1344,183],{},[171,1346,909,1347,477,1350,1353,1354,1356],{},[107,1348,1349],{},"github",[107,1351,1352],{},"gitlab",". Other CI systems are free-form lowercase ids; ",[107,1355,294],{}," when only a generic CI flag was set.",[150,1358,1359,1363,1365,1367],{},[171,1360,1361],{},[107,1362,1300],{},[171,1364,200],{},[171,1366],{},[171,1368,1369,1372,1373,1376],{},[107,1370,1371],{},"owner\u002Frepo"," (GitHub) or ",[107,1374,1375],{},"group\u002Fproject"," (GitLab).",[150,1378,1379,1383,1385,1387],{},[171,1380,1381],{},[107,1382,1303],{},[171,1384,200],{},[171,1386],{},[171,1388],{},[150,1390,1391,1395,1397,1399],{},[171,1392,1393],{},[107,1394,1294],{},[171,1396,200],{},[171,1398],{},[171,1400,1401,1402,1405,1406,427],{},"On GitHub ",[107,1403,1404],{},"pull_request"," events this is the synthetic merge commit; tools that write to the PR branch must use ",[107,1407,1408],{},"pullRequest.headSha",[150,1410,1411,1416,1418,1420],{},[171,1412,1413],{},[107,1414,1415],{},"ref",[171,1417,200],{},[171,1419],{},[171,1421],{},[150,1423,1424,1428,1430,1432],{},[171,1425,1426],{},[107,1427,1297],{},[171,1429,200],{},[171,1431],{},[171,1433],{},[150,1435,1436,1441,1444,1446],{},[171,1437,1438],{},[107,1439,1440],{},"pullRequest",[171,1442,1443],{},"null | object",[171,1445],{},[171,1447],{},[150,1449,1450,1455,1457,1459],{},[171,1451,1452],{},[107,1453,1454],{},"event",[171,1456,200],{},[171,1458],{},[171,1460],{},[150,1462,1463,1467,1469,1471],{},[171,1464,1465],{},[107,1466,1306],{},[171,1468,200],{},[171,1470],{},[171,1472,1473,1474,1477,1478,1481,1482,427],{},"The run or pipeline id (GitHub ",[107,1475,1476],{},"GITHUB_RUN_ID",", GitLab ",[107,1479,1480],{},"CI_PIPELINE_ID","); locates the artifacts together with ",[107,1483,1484],{},"runAttempt",[150,1486,1487,1491,1493,1495],{},[171,1488,1489],{},[107,1490,1309],{},[171,1492,200],{},[171,1494],{},[171,1496,1497],{},"The workflow or pipeline name.",[150,1499,1500,1504,1506,1508],{},[171,1501,1502],{},[107,1503,1312],{},[171,1505,200],{},[171,1507],{},[171,1509],{},[150,1511,1512,1516,1518,1520],{},[171,1513,1514],{},[107,1515,1315],{},[171,1517,200],{},[171,1519],{},[171,1521,1522],{},"Link to the run or job page.",[150,1524,1525,1529,1531,1533],{},[171,1526,1527],{},[107,1528,1484],{},[171,1530,200],{},[171,1532],{},[171,1534],{},[150,1536,1537,1542,1544,1546],{},[171,1538,1539],{},[107,1540,1541],{},"job",[171,1543,200],{},[171,1545],{},[171,1547],{},[150,1549,1550,1555,1557,1559],{},[171,1551,1552],{},[107,1553,1554],{},"jobId",[171,1556,200],{},[171,1558],{},[171,1560],{},[150,1562,1563,1568,1570,1572],{},[171,1564,1565],{},[107,1566,1567],{},"serverUrl",[171,1569,200],{},[171,1571],{},[171,1573],{},[150,1575,1576,1581,1583,1585],{},[171,1577,1578],{},[107,1579,1580],{},"workspace",[171,1582,200],{},[171,1584],{},[171,1586,1587],{},"Absolute path of the checked-out repository on the CI machine.",[139,1589,124],{"id":124},[99,1591,1592,1593,1595,1596,1598],{},"What ran the tests (Cypress, Playwright, a mobile driver), as opposed to ",[107,1594,310],{},", which wrote the manifest. Only ",[107,1597,539],{}," is required; the remaining keys are runner vocabulary and writers may add their own.",[144,1600,1601,1613],{},[147,1602,1603],{},[150,1604,1605,1607,1609,1611],{},[153,1606,155],{},[153,1608,158],{},[153,1610,161],{},[153,1612,164],{},[166,1614,1615,1627,1639,1652,1672,1691,1706,1724,1738,1751,1766],{},[150,1616,1617,1621,1623,1625],{},[171,1618,1619],{},[107,1620,539],{},[171,1622,200],{},[171,1624,183],{},[171,1626],{},[150,1628,1629,1633,1635,1637],{},[171,1630,1631],{},[107,1632,552],{},[171,1634,200],{},[171,1636],{},[171,1638],{},[150,1640,1641,1646,1648,1650],{},[171,1642,1643],{},[107,1644,1645],{},"testingType",[171,1647,200],{},[171,1649],{},[171,1651],{},[150,1653,1654,1659,1668,1670],{},[171,1655,1656],{},[107,1657,1658],{},"mode",[171,1660,1661,1664,1665],{},[107,1662,1663],{},"\"run\""," | ",[107,1666,1667],{},"\"open\"",[171,1669],{},[171,1671],{},[150,1673,1674,1679,1681,1683],{},[171,1675,1676],{},[107,1677,1678],{},"configFile",[171,1680,200],{},[171,1682],{},[171,1684,1685,1686,477,1688,1690],{},"Relative to ",[107,1687,246],{},[107,1689,133],{}," separators.",[150,1692,1693,1697,1702,1704],{},[171,1694,1695],{},[107,1696,807],{},[171,1698,1699],{},[103,1700,807],{"href":1701},"#browser",[171,1703],{},[171,1705],{},[150,1707,1708,1713,1716,1718],{},[171,1709,1710],{},[107,1711,1712],{},"specs",[171,1714,1715],{},"array of string",[171,1717],{},[171,1719,1720,1721,1723],{},"Test files of the run relative to ",[107,1722,246],{},", when known up front.",[150,1725,1726,1731,1734,1736],{},[171,1727,1728],{},[107,1729,1730],{},"specPattern",[171,1732,1733],{},"string | array of string",[171,1735],{},[171,1737],{},[150,1739,1740,1745,1747,1749],{},[171,1741,1742],{},[107,1743,1744],{},"baseUrl",[171,1746,1342],{},[171,1748],{},[171,1750],{},[150,1752,1753,1757,1762,1764],{},[171,1754,1755],{},[107,1756,1243],{},[171,1758,1759],{},[103,1760,1243],{"href":1761},"#viewport",[171,1763],{},[171,1765],{},[150,1767,1768,1773,1775,1777],{},[171,1769,1770],{},[107,1771,1772],{},"cloud",[171,1774,329],{},[171,1776],{},[171,1778,1779],{},"Hosted runner dashboard details, when recording.",[1051,1781,1782],{"id":1772},[107,1783,1772],{},[99,1785,1779],{},[144,1787,1788,1800],{},[147,1789,1790],{},[150,1791,1792,1794,1796,1798],{},[153,1793,155],{},[153,1795,158],{},[153,1797,161],{},[153,1799,164],{},[166,1801,1802,1815,1828,1841],{},[150,1803,1804,1809,1811,1813],{},[171,1805,1806],{},[107,1807,1808],{},"runUrl",[171,1810,200],{},[171,1812],{},[171,1814],{},[150,1816,1817,1822,1824,1826],{},[171,1818,1819],{},[107,1820,1821],{},"group",[171,1823,200],{},[171,1825],{},[171,1827],{},[150,1829,1830,1835,1837,1839],{},[171,1831,1832],{},[107,1833,1834],{},"tag",[171,1836,200],{},[171,1838],{},[171,1840],{},[150,1842,1843,1848,1850,1852],{},[171,1844,1845],{},[107,1846,1847],{},"parallel",[171,1849,870],{},[171,1851],{},[171,1853],{},[139,1855,360],{"id":360},[99,1857,1858],{},"Where the images and snapshots of the run were uploaded to, when an upload service was used.",[144,1860,1861,1873],{},[147,1862,1863],{},[150,1864,1865,1867,1869,1871],{},[153,1866,155],{},[153,1868,158],{},[153,1870,161],{},[153,1872,164],{},[166,1874,1875,1887,1900],{},[150,1876,1877,1881,1883,1885],{},[171,1878,1879],{},[107,1880,1306],{},[171,1882,200],{},[171,1884,183],{},[171,1886],{},[150,1888,1889,1894,1896,1898],{},[171,1890,1891],{},[107,1892,1893],{},"url",[171,1895,200],{},[171,1897,183],{},[171,1899],{},[150,1901,1902,1907,1915,1917],{},[171,1903,1904],{},[107,1905,1906],{},"level",[171,1908,1909,1664,1912],{},[107,1910,1911],{},"\"images\"",[107,1913,1914],{},"\"images+snapshot\"",[171,1916,183],{},[171,1918],{},[139,1920,1921],{"id":1921},"image",[144,1923,1924,1936],{},[147,1925,1926],{},[150,1927,1928,1930,1932,1934],{},[153,1929,155],{},[153,1931,158],{},[153,1933,161],{},[153,1935,164],{},[166,1937,1938,1964,1976,1988],{},[150,1939,1940,1945,1947,1949],{},[171,1941,1942],{},[107,1943,1944],{},"path",[171,1946,1342],{},[171,1948,183],{},[171,1950,1685,1951,477,1953,1955,1956,1958,1959,444,1961,1963],{},[107,1952,246],{},[107,1954,133],{}," separators; ",[107,1957,294],{}," when the file does not exist. Baseline, actual and diff of an entry share one extension (PNG for all current writers); ",[107,1960,443],{},[107,1962,447],{}," go before it.",[150,1965,1966,1970,1972,1974],{},[171,1967,1968],{},[107,1969,1136],{},[171,1971,605],{},[171,1973],{},[171,1975],{},[150,1977,1978,1982,1984,1986],{},[171,1979,1980],{},[107,1981,1150],{},[171,1983,605],{},[171,1985],{},[171,1987],{},[150,1989,1990,1994,1998,2000],{},[171,1991,1992],{},[107,1993,128],{},[171,1995,1996],{},[103,1997,128],{"href":414},[171,1999],{},[171,2001],{},[139,2003,2004],{"id":2004},"attachment",[99,2006,2007,2008,2010,2011,427],{},"Any other file an entry wants to point at (a trace, a video, a DOM snapshot). Same shape as a CTRF attachment; ",[107,2009,1944],{}," is relative to ",[107,2012,246],{},[144,2014,2015,2027],{},[147,2016,2017],{},[150,2018,2019,2021,2023,2025],{},[153,2020,155],{},[153,2022,158],{},[153,2024,161],{},[153,2026,164],{},[166,2028,2029,2041,2054,2066,2079],{},[150,2030,2031,2035,2037,2039],{},[171,2032,2033],{},[107,2034,539],{},[171,2036,200],{},[171,2038,183],{},[171,2040],{},[150,2042,2043,2048,2050,2052],{},[171,2044,2045],{},[107,2046,2047],{},"contentType",[171,2049,200],{},[171,2051,183],{},[171,2053],{},[150,2055,2056,2060,2062,2064],{},[171,2057,2058],{},[107,2059,1944],{},[171,2061,200],{},[171,2063,183],{},[171,2065],{},[150,2067,2068,2073,2075,2077],{},[171,2069,2070],{},[107,2071,2072],{},"attachmentId",[171,2074,200],{},[171,2076],{},[171,2078],{},[150,2080,2081,2085,2089,2091],{},[171,2082,2083],{},[107,2084,128],{},[171,2086,2087],{},[103,2088,128],{"href":414},[171,2090],{},[171,2092],{},[139,2094,2095],{"id":2095},"subject",[99,2097,2098],{},"What the screenshot is a picture of, as opposed to the test that took it: a component story, a page, a screen. Tool-neutral; the id is whatever the producer uses to name the thing (for example a Storybook story id), so tools can group or match entries by it.",[144,2100,2101,2113],{},[147,2102,2103],{},[150,2104,2105,2107,2109,2111],{},[153,2106,155],{},[153,2108,158],{},[153,2110,161],{},[153,2112,164],{},[166,2114,2115,2127],{},[150,2116,2117,2121,2123,2125],{},[171,2118,2119],{},[107,2120,1090],{},[171,2122,200],{},[171,2124,183],{},[171,2126],{},[150,2128,2129,2133,2135,2137],{},[171,2130,2131],{},[107,2132,902],{},[171,2134,200],{},[171,2136],{},[171,2138,909,2139,477,2142,477,2145,477,2148,921],{},[107,2140,2141],{},"story",[107,2143,2144],{},"page",[107,2146,2147],{},"component",[107,2149,2150],{},"screen",[139,2152,128],{"id":128},[99,2154,2155,2156,2158,2159,2162,2163,477,2165,477,2168,477,2171,2173,2174,2177,2178,477,2181,2184,2185,2188],{},"Open metadata keyed by namespace, like CTRF's ",[107,2157,128],{},"; every value is an object. Consumers must ignore namespaces they do not know. Conventional namespaces on an entry or image: ",[107,2160,2161],{},"design"," (a design software source: ",[107,2164,310],{},[107,2166,2167],{},"file",[107,2169,2170],{},"node",[107,2172,552],{},", for example the Figma file, frame and version a baseline was exported from) and ",[107,2175,2176],{},"storybook"," (",[107,2179,2180],{},"args",[107,2182,2183],{},"globals","). ",[107,2186,2187],{},"visualRegression"," is reserved for the CTRF converters. Nothing here takes part in baseline identity.",[99,2190,2191],{},"Type: object.",[139,2193,2194],{"id":2194},"renderer",[99,2196,2197,2198,2200],{},"Where the pixels came from, as opposed to ",[107,2199,264],{},", which is where the test ran. Entries with different renderers are different baselines.",[144,2202,2203,2215],{},[147,2204,2205],{},[150,2206,2207,2209,2211,2213],{},[153,2208,155],{},[153,2210,158],{},[153,2212,161],{},[153,2214,164],{},[166,2216,2217,2246,2262,2274,2289,2302,2318,2334],{},[150,2218,2219,2224,2226,2228],{},[171,2220,2221],{},[107,2222,2223],{},"backend",[171,2225,200],{},[171,2227,183],{},[171,2229,909,2230,2233,2234,477,2237,2239,2240,2242,2243,427],{},[107,2231,2232],{},"native"," (the test runner's own capture), ",[107,2235,2236],{},"docker",[107,2238,1772],{},". Writers may add their own, e.g. ",[107,2241,965],{}," or ",[107,2244,2245],{},"emulator",[150,2247,2248,2252,2254,2256],{},[171,2249,2250],{},[107,2251,539],{},[171,2253,200],{},[171,2255],{},[171,2257,2258,2259,2261],{},"What rendered the pixels: a browser, an app or a device. Absent when ",[107,2260,2223],{}," says enough.",[150,2263,2264,2268,2270,2272],{},[171,2265,2266],{},[107,2267,552],{},[171,2269,200],{},[171,2271],{},[171,2273],{},[150,2275,2276,2280,2282,2284],{},[171,2277,2278],{},[107,2279,807],{},[171,2281,200],{},[171,2283],{},[171,2285,2286,2287,427],{},"Browser name; kept for browser renderers, same as ",[107,2288,539],{},[150,2290,2291,2296,2298,2300],{},[171,2292,2293],{},[107,2294,2295],{},"browserVersion",[171,2297,200],{},[171,2299],{},[171,2301],{},[150,2303,2304,2309,2311,2313],{},[171,2305,2306],{},[107,2307,2308],{},"rendererVersion",[171,2310,200],{},[171,2312],{},[171,2314,2315,2316,427],{},"Version of the renderer image; absent under ",[107,2317,2232],{},[150,2319,2320,2325,2327,2329],{},[171,2321,2322],{},[107,2323,2324],{},"imageDigest",[171,2326,200],{},[171,2328],{},[171,2330,2331,2332,427],{},"Content digest of the renderer image; absent under ",[107,2333,2232],{},[150,2335,2336,2341,2343,2345],{},[171,2337,2338],{},[107,2339,2340],{},"fallback",[171,2342,870],{},[171,2344],{},[171,2346,2347,2350,2351,2354,2355,427],{},[107,2348,2349],{},"true"," when an ",[107,2352,2353],{},"auto"," renderer degraded to ",[107,2356,2232],{},[139,2358,2359],{"id":2359},"sha256",[99,2361,423,2362,427],{},[107,2363,2364],{},"^[0-9a-f]{64}$",[139,2366,2368],{"id":2367},"entryoptions","entryOptions",[99,2370,2371,2372,2375],{},"The comparison options the entry was made with, exactly as configured (",[107,2373,2374],{},"imagesPath"," keeps its tokens unexpanded).",[144,2377,2378,2390],{},[147,2379,2380],{},[150,2381,2382,2384,2386,2388],{},[153,2383,155],{},[153,2385,158],{},[153,2387,161],{},[153,2389,164],{},[166,2391,2392,2404,2417,2430,2443,2456,2473,2487,2500],{},[150,2393,2394,2398,2400,2402],{},[171,2395,2396],{},[107,2397,2374],{},[171,2399,200],{},[171,2401,183],{},[171,2403],{},[150,2405,2406,2411,2413,2415],{},[171,2407,2408],{},[107,2409,2410],{},"title",[171,2412,200],{},[171,2414],{},[171,2416],{},[150,2418,2419,2424,2426,2428],{},[171,2420,2421],{},[107,2422,2423],{},"maxDiffThreshold",[171,2425,1139],{},[171,2427,183],{},[171,2429],{},[150,2431,2432,2437,2439,2441],{},[171,2433,2434],{},[107,2435,2436],{},"diffConfig",[171,2438,329],{},[171,2440,183],{},[171,2442],{},[150,2444,2445,2450,2452,2454],{},[171,2446,2447],{},[107,2448,2449],{},"createMissingImages",[171,2451,870],{},[171,2453,183],{},[171,2455],{},[150,2457,2458,2463,2469,2471],{},[171,2459,2460],{},[107,2461,2462],{},"updateImages",[171,2464,2465,2466],{},"boolean | ",[107,2467,2468],{},"\"failures-only\"",[171,2470,183],{},[171,2472],{},[150,2474,2475,2480,2482,2484],{},[171,2476,2477],{},[107,2478,2479],{},"forceDeviceScaleFactor",[171,2481,870],{},[171,2483],{},[171,2485,2486],{},"Browser runners only.",[150,2488,2489,2494,2496,2498],{},[171,2490,2491],{},[107,2492,2493],{},"matchAgainstPath",[171,2495,200],{},[171,2497],{},[171,2499],{},[150,2501,2502,2507,2509,2511],{},[171,2503,2504],{},[107,2505,2506],{},"screenshotConfig",[171,2508,329],{},[171,2510],{},[171,2512,2513,2514,2517],{},"Capture options in the runner's vocabulary (Cypress ",[107,2515,2516],{},"screenshot"," config); JSON-serialisable keys only.",[139,2519,399],{"id":399},[99,2521,2522,2523,713,2526,2528,2529,2532,2533,2536,2537,2540,2541,2544],{},"One screenshot comparison. Maps onto a CTRF test of ",[107,2524,2525],{},"type: \"visual\"",[107,2527,539],{}," is the test name, ",[107,2530,2531],{},"test.titlePath"," without its last element the suite, ",[107,2534,2535],{},"test.filePath"," the file path, ",[107,2538,2539],{},"message"," the message, ",[107,2542,2543],{},"duration"," the duration.",[144,2546,2547,2559],{},[147,2548,2549],{},[150,2550,2551,2553,2555,2557],{},[153,2552,155],{},[153,2554,158],{},[153,2556,161],{},[153,2558,164],{},[166,2560,2561,2574,2587,2602,2615,2628,2644,2660,2675,2688,2701,2716,2731,2745,2766,2780,2795,2810,2827],{},[150,2562,2563,2567,2569,2571],{},[171,2564,2565],{},[107,2566,539],{},[171,2568,200],{},[171,2570,183],{},[171,2572,2573],{},"Screenshot name, equal to the baseline file stem. Unique within a run.",[150,2575,2576,2581,2583,2585],{},[171,2577,2578],{},[107,2579,2580],{},"test",[171,2582,329],{},[171,2584,183],{},[171,2586],{},[150,2588,2589,2593,2598,2600],{},[171,2590,2591],{},[107,2592,430],{},[171,2594,2595],{},[103,2596,430],{"href":2597},"#status",[171,2599,183],{},[171,2601],{},[150,2603,2604,2609,2611,2613],{},[171,2605,2606],{},[107,2607,2608],{},"comparison",[171,2610,329],{},[171,2612,183],{},[171,2614],{},[150,2616,2617,2622,2624,2626],{},[171,2618,2619],{},[107,2620,2621],{},"images",[171,2623,329],{},[171,2625,183],{},[171,2627],{},[150,2629,2630,2635,2640,2642],{},[171,2631,2632],{},[107,2633,2634],{},"attachments",[171,2636,395,2637],{},[103,2638,2004],{"href":2639},"#attachment",[171,2641],{},[171,2643],{},[150,2645,2646,2651,2653,2655],{},[171,2647,2648],{},[107,2649,2650],{},"baselineWritten",[171,2652,870],{},[171,2654,183],{},[171,2656,2657,2659],{},[107,2658,2349],{}," whenever the baseline file was (re)written during the run, whatever the status.",[150,2661,2662,2667,2671,2673],{},[171,2663,2664],{},[107,2665,2666],{},"recordedAt",[171,2668,2669],{},[103,2670,218],{"href":217},[171,2672,183],{},[171,2674],{},[150,2676,2677,2681,2683,2685],{},[171,2678,2679],{},[107,2680,2543],{},[171,2682,605],{},[171,2684],{},[171,2686,2687],{},"How long the capture and comparison took, in milliseconds, when the writer measured it.",[150,2689,2690,2694,2696,2698],{},[171,2691,2692],{},[107,2693,264],{},[171,2695,329],{},[171,2697],{},[171,2699,2700],{},"Where this screenshot was taken; per entry because manifests of several machines get merged.",[150,2702,2703,2707,2712,2714],{},[171,2704,2705],{},[107,2706,708],{},[171,2708,2709],{},[103,2710,708],{"href":2711},"#target",[171,2713],{},[171,2715],{},[150,2717,2718,2722,2727,2729],{},[171,2719,2720],{},[107,2721,2095],{},[171,2723,2724],{},[103,2725,2095],{"href":2726},"#subject",[171,2728],{},[171,2730],{},[150,2732,2733,2737,2741,2743],{},[171,2734,2735],{},[107,2736,128],{},[171,2738,2739],{},[103,2740,128],{"href":414},[171,2742],{},[171,2744],{},[150,2746,2747,2752,2754,2756],{},[171,2748,2749],{},[107,2750,2751],{},"variant",[171,2753,200],{},[171,2755],{},[171,2757,2758,2759,698,2762,2765],{},"Producer-chosen id that tells entries of the same screenshot name apart (device, OS version, density, locale, theme, project, ...). Part of the baseline identity when merging manifests; absent, identity falls back to ",[107,2760,2761],{},"platform.osPlatform",[107,2763,2764],{},"platform.browser.name"," + renderer.",[150,2767,2768,2772,2776,2778],{},[171,2769,2770],{},[107,2771,1243],{},[171,2773,2774],{},[103,2775,1243],{"href":1761},[171,2777],{},[171,2779],{},[150,2781,2782,2786,2791,2793],{},[171,2783,2784],{},[107,2785,326],{},[171,2787,2788],{},[103,2789,2368],{"href":2790},"#entryoptions",[171,2792],{},[171,2794],{},[150,2796,2797,2801,2806,2808],{},[171,2798,2799],{},[107,2800,2194],{},[171,2802,2803],{},[103,2804,2194],{"href":2805},"#renderer",[171,2807],{},[171,2809],{},[150,2811,2812,2817,2819,2821],{},[171,2813,2814],{},[107,2815,2816],{},"hashes",[171,2818,329],{},[171,2820],{},[171,2822,2823,2824,2826],{},"sha256 of the files listed in ",[107,2825,2621],{},"; a key is present only when the file exists.",[150,2828,2829,2833,2835,2837],{},[171,2830,2831],{},[107,2832,2539],{},[171,2834,200],{},[171,2836,183],{},[171,2838,2839],{},"Human-readable summary, informational only.",[1051,2841,2842],{"id":2580},[107,2843,2580],{},[144,2845,2846,2858],{},[147,2847,2848],{},[150,2849,2850,2852,2854,2856],{},[153,2851,155],{},[153,2853,158],{},[153,2855,161],{},[153,2857,164],{},[166,2859,2860,2879,2893],{},[150,2861,2862,2867,2869,2871],{},[171,2863,2864],{},[107,2865,2866],{},"filePath",[171,2868,200],{},[171,2870,183],{},[171,2872,2873,2874,477,2876,2878],{},"Test file relative to ",[107,2875,246],{},[107,2877,133],{}," separators. Empty when unknown.",[150,2880,2881,2886,2888,2890],{},[171,2882,2883],{},[107,2884,2885],{},"titlePath",[171,2887,1715],{},[171,2889,183],{},[171,2891,2892],{},"Describe blocks and test title, outermost first.",[150,2894,2895,2900,2902,2904],{},[171,2896,2897],{},[107,2898,2899],{},"retry",[171,2901,605],{},[171,2903,183],{},[171,2905,2906,2907,2910,2911,2914],{},"Attempt index of the test this comparison belongs to: ",[107,2908,2909],{},"0"," for the first attempt (CTRF's ",[107,2912,2913],{},"retries"," is a count, not an index).",[1051,2916,2917],{"id":2608},[107,2918,2608],{},[144,2920,2921,2933],{},[147,2922,2923],{},[150,2924,2925,2927,2929,2931],{},[153,2926,155],{},[153,2928,158],{},[153,2930,161],{},[153,2932,164],{},[166,2934,2935,2952],{},[150,2936,2937,2942,2944,2946],{},[171,2938,2939],{},[107,2940,2941],{},"diffRatio",[171,2943,1139],{},[171,2945,183],{},[171,2947,2948,2949,2951],{},"Share of differing pixels, 0..1. ",[107,2950,2909],{}," when no comparison ran.",[150,2953,2954,2959,2961,2963],{},[171,2955,2956],{},[107,2957,2958],{},"threshold",[171,2960,1139],{},[171,2962,183],{},[171,2964],{},[1051,2966,2967],{"id":2621},[107,2968,2621],{},[144,2970,2971,2983],{},[147,2972,2973],{},[150,2974,2975,2977,2979,2981],{},[153,2976,155],{},[153,2978,158],{},[153,2980,161],{},[153,2982,164],{},[166,2984,2985,3005,3020],{},[150,2986,2987,2992,2998,3000],{},[171,2988,2989],{},[107,2990,2991],{},"baseline",[171,2993,2994,2997],{},[103,2995,1921],{"href":2996},"#image"," & any",[171,2999,183],{},[171,3001,3002,3003,190],{},"The baseline path is always known, even when the file does not exist yet (",[107,3004,451],{},[150,3006,3007,3012,3016,3018],{},[171,3008,3009],{},[107,3010,3011],{},"actual",[171,3013,3014],{},[103,3015,1921],{"href":2996},[171,3017,183],{},[171,3019],{},[150,3021,3022,3027,3029,3031],{},[171,3023,3024],{},[107,3025,3026],{},"diff",[171,3028,329],{},[171,3030,183],{},[171,3032],{},[3034,3035,3036],"h4",{"id":3026},[107,3037,3026],{},[144,3039,3040,3052],{},[147,3041,3042],{},[150,3043,3044,3046,3048,3050],{},[153,3045,155],{},[153,3047,158],{},[153,3049,161],{},[153,3051,164],{},[166,3053,3054],{},[150,3055,3056,3060,3062,3064],{},[171,3057,3058],{},[107,3059,1944],{},[171,3061,1342],{},[171,3063,183],{},[171,3065],{},[1051,3067,3069],{"id":3068},"platform-1",[107,3070,264],{},[99,3072,2700],{},[144,3074,3075,3087],{},[147,3076,3077],{},[150,3078,3079,3081,3083,3085],{},[153,3080,155],{},[153,3082,158],{},[153,3084,161],{},[153,3086,164],{},[166,3088,3089,3101,3113,3125,3137],{},[150,3090,3091,3095,3097,3099],{},[171,3092,3093],{},[107,3094,716],{},[171,3096,200],{},[171,3098,183],{},[171,3100],{},[150,3102,3103,3107,3109,3111],{},[171,3104,3105],{},[107,3106,734],{},[171,3108,200],{},[171,3110],{},[171,3112],{},[150,3114,3115,3119,3121,3123],{},[171,3116,3117],{},[107,3118,738],{},[171,3120,200],{},[171,3122],{},[171,3124],{},[150,3126,3127,3131,3133,3135],{},[171,3128,3129],{},[107,3130,774],{},[171,3132,200],{},[171,3134],{},[171,3136],{},[150,3138,3139,3143,3147,3149],{},[171,3140,3141],{},[107,3142,807],{},[171,3144,3145],{},[103,3146,807],{"href":1701},[171,3148],{},[171,3150,3151],{},"Absent for non-browser targets (desktop and mobile apps).",[1051,3153,3154],{"id":2816},[107,3155,2816],{},[99,3157,2823,3158,2826],{},[107,3159,2621],{},[144,3161,3162,3174],{},[147,3163,3164],{},[150,3165,3166,3168,3170,3172],{},[153,3167,155],{},[153,3169,158],{},[153,3171,161],{},[153,3173,164],{},[166,3175,3176,3191,3205],{},[150,3177,3178,3182,3187,3189],{},[171,3179,3180],{},[107,3181,2991],{},[171,3183,3184],{},[103,3185,2359],{"href":3186},"#sha256",[171,3188],{},[171,3190],{},[150,3192,3193,3197,3201,3203],{},[171,3194,3195],{},[107,3196,3011],{},[171,3198,3199],{},[103,3200,2359],{"href":3186},[171,3202],{},[171,3204],{},[150,3206,3207,3211,3215,3217],{},[171,3208,3209],{},[107,3210,3026],{},[171,3212,3213],{},[103,3214,2359],{"href":3186},[171,3216],{},[171,3218],{},{"title":3220,"searchDepth":3221,"depth":3221,"links":3222},"",2,[3223,3224,3225,3226,3227,3228,3229,3230,3236,3237,3238,3241,3242,3243,3244,3245,3246,3247,3248,3249],{"id":141,"depth":3221,"text":142},{"id":218,"depth":3221,"text":218},{"id":430,"depth":3221,"text":430},{"id":310,"depth":3221,"text":310},{"id":376,"depth":3221,"text":376},{"id":264,"depth":3221,"text":264},{"id":807,"depth":3221,"text":807},{"id":708,"depth":3221,"text":708,"children":3231},[3232,3234,3235],{"id":965,"depth":3233,"text":965},3,{"id":978,"depth":3233,"text":978},{"id":1017,"depth":3233,"text":1017},{"id":1243,"depth":3221,"text":1243},{"id":280,"depth":3221,"text":280},{"id":124,"depth":3221,"text":124,"children":3239},[3240],{"id":1772,"depth":3233,"text":1772},{"id":360,"depth":3221,"text":360},{"id":1921,"depth":3221,"text":1921},{"id":2004,"depth":3221,"text":2004},{"id":2095,"depth":3221,"text":2095},{"id":128,"depth":3221,"text":128},{"id":2194,"depth":3221,"text":2194},{"id":2359,"depth":3221,"text":2359},{"id":2367,"depth":3221,"text":2368},{"id":399,"depth":3221,"text":399,"children":3250},[3251,3252,3253,3254,3255],{"id":2580,"depth":3233,"text":2580},{"id":2608,"depth":3233,"text":2608},{"id":2621,"depth":3233,"text":2621},{"id":3068,"depth":3233,"text":264},{"id":2816,"depth":3233,"text":2816},"Every field of the manifest, generated from the JSON Schema at \u002Fschema\u002Fv1.json.","md",null,{"generated":3260},true,{"icon":88},{"title":85,"description":3256},"76_AmLfDtBR7Y25cd8qnO2u4XMfO5Gvy1X6Aph1Gf_M",[3265,3267],{"title":80,"path":81,"stem":82,"description":3266,"icon":83,"children":-1},"| export                                                                                                                                                        ",{"title":90,"path":91,"stem":92,"description":3268,"icon":14,"children":-1},"Drop a visual-regression-manifest and its images to review them in the browser. Nothing is uploaded.",1791993875572]