Files
photocraft/xtask/psd-write-oracle/starter.json
T
Khawar Zamman Wani 146d49f5a2 PSD write recipes: keep every exported candidate and pin the base file (#11607)
* PSD write recipes: keep every exported candidate and pin the base file

A case that failed after export dropped out of manifest.json, losing the
file a reference-editor check most needs. The CLI also reopened the corpus
path after the hash was taken.

- Keep the candidate and its hash once export succeeds.
- Run the CLI on a copy of the hashed bytes, so it never opens the corpus.
- Compare numbers by value, so 17 equals 17.0.
- tracking-split also checks runs 0 and 2 and all three run lengths.

Part of #6130.

* PSD write recipes: compare large integers exactly, reject case-only id clashes

Converting to f64 made 9007199254740993 equal 9007199254740992. Ids that
differ only by letter case name one output directory on a case-insensitive
filesystem, so they are now rejected as duplicates.

* PSD write recipes: test that the CLI receives the hashed bytes

* PSD write recipes: reject the contour library commands

Their path param can read or write any file, including the pinned base and
the corpus, and they edit no document.
2026-11-06 17:23:40 +01:00

195 lines
4.3 KiB
JSON

{
"version": 1,
"corpus_revision": "f5b1178cab15309e05b7b504545df3c701f6d8fd",
"cases": [
{
"id": "control-1",
"base": "text/antialias-none.psd",
"base_sha256": "8d03faba9e0c0bf8b416669eababff8060bd2601c89932769088401da241f62c",
"target": {
"kind": "Type"
},
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "unchanged",
"path": "/text/antialias"
}
]
},
{
"id": "control-2",
"base": "text/paragraph-justify-left.psd",
"base_sha256": "15f2e504f7c06bcc6df4ec1e17215babf300230af5575e18221705c86da383c0",
"target": {
"kind": "Type"
},
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "unchanged",
"path": "/text/antialias"
}
]
},
{
"id": "control-3",
"base": "text/tracking-plus200.psd",
"base_sha256": "110e0c73f1dba131eaae97ac828001f347e957a2a0e4b81eb9b146af3c211829",
"target": {
"kind": "Type"
},
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "unchanged",
"path": "/text/antialias"
}
]
},
{
"id": "text-antialias-crisp",
"base": "text/antialias-none.psd",
"base_sha256": "8d03faba9e0c0bf8b416669eababff8060bd2601c89932769088401da241f62c",
"target": {
"kind": "Type"
},
"commands": [
{
"command": "type.antiAlias.crisp",
"params": {}
}
],
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "changed_to",
"path": "/text/antialias",
"value": "Crisp"
}
]
},
{
"id": "paragraph-justify-all",
"base": "text/paragraph-justify-left.psd",
"base_sha256": "15f2e504f7c06bcc6df4ec1e17215babf300230af5575e18221705c86da383c0",
"target": {
"kind": "Type"
},
"commands": [
{
"command": "type.setStyle",
"params": {
"align": "justifyAll"
}
}
],
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "changed_to",
"path": "/text/paragraphs/0/style/align",
"value": "JustifyAll"
}
]
},
{
"id": "tracking-split",
"base": "text/tracking-plus200.psd",
"base_sha256": "110e0c73f1dba131eaae97ac828001f347e957a2a0e4b81eb9b146af3c211829",
"target": {
"kind": "Type"
},
"commands": [
{
"command": "type.setStyle",
"params": {
"range": [
1,
3
],
"tracking": -60
}
}
],
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "changed_to",
"path": "/text/runs/1/style/tracking",
"value": -60.0
},
{
"op": "unchanged",
"path": "/text/runs/0/style/tracking"
},
{
"op": "equals",
"path": "/text/runs/2/style/tracking",
"value": 200.0
},
{
"op": "equals",
"path": "/text/runs/0/len",
"value": 1
},
{
"op": "equals",
"path": "/text/runs/1/len",
"value": 2
},
{
"op": "equals",
"path": "/text/runs/2/len",
"value": 5
}
]
},
{
"id": "text-drop-shadow",
"base": "text/antialias-none.psd",
"base_sha256": "8d03faba9e0c0bf8b416669eababff8060bd2601c89932769088401da241f62c",
"target": {
"kind": "Type"
},
"commands": [
{
"command": "layer.layerStyle.dropShadow",
"params": {
"distance": 17
}
}
],
"checks": [
{
"op": "unchanged",
"path": "/text/text"
},
{
"op": "changed_to",
"path": "/effects/data/0/DropShadow/distance",
"value": 17.0
}
]
}
]
}