mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 14:16:28 +03:00
The four comp-fidelity scripts (comp-spec, comp-diff, font-match, build-phase)
and their six libs are ported into the impeccable-engine binary. This removes
the last Node .mjs from the skill: `git ls-files skill/scripts | grep '\.mjs$'`
now returns nothing.
- reference/new-work.md, reference/visualize.md, and the asset-producer /
finish-reviewer agents now invoke `{{scripts_path}}/impeccable <verb>` instead
of `node <script>.mjs`.
- Deleted the ten ported .mjs and the four JS unit tests that imported them
(their behavior is now covered by the engine's Rust tests and the oracle);
removed those files from scripts/test-suites.mjs.
- Added oracle cases (comp-*, font-match-*, build-phase-*) over a comp-basic
workspace, recorded from the engine binary; the deterministic outputs are
byte-identical to the JS the scripts left behind.
- docs/CLI-CONTRACT.md documents the four verbs, the CDP font rendering, and
the runtime-resolved (never-committed) font-index catalog.
The font-index catalog JSON stays shipped in the skill (data/font-index.json);
the engine resolves it at run time and never vendors it.
Prepared with AI assistance (Claude Code).
267 lines
4.2 KiB
JSON
267 lines
4.2 KiB
JSON
{
|
|
"tool": "comp-spec",
|
|
"version": 1,
|
|
"createdAt": "2026-09-01T19:17:09.643Z",
|
|
"comp": "comp.png",
|
|
"warnings": [],
|
|
"uncoveredInkCells": [
|
|
"A2",
|
|
"B2",
|
|
"C2",
|
|
"E5",
|
|
"F5",
|
|
"G5",
|
|
"H5",
|
|
"I5",
|
|
"J5",
|
|
"E6",
|
|
"A9",
|
|
"B9",
|
|
"C9"
|
|
],
|
|
"compSize": {
|
|
"width": 768,
|
|
"height": 512
|
|
},
|
|
"aspect": 1.5,
|
|
"orientation": "landscape",
|
|
"palette": [
|
|
{
|
|
"hex": "#f7e8e8",
|
|
"coverage": 0.6868
|
|
},
|
|
{
|
|
"hex": "#182838",
|
|
"coverage": 0.1403
|
|
},
|
|
{
|
|
"hex": "#9a9aa5",
|
|
"coverage": 0.0683
|
|
},
|
|
{
|
|
"hex": "#c5c5d1",
|
|
"coverage": 0.0672
|
|
},
|
|
{
|
|
"hex": "#7c7c82",
|
|
"coverage": 0.0374
|
|
}
|
|
],
|
|
"bands": [
|
|
{
|
|
"y": 0.0588,
|
|
"strength": 1
|
|
},
|
|
{
|
|
"y": 0.0941,
|
|
"strength": 0.4087
|
|
},
|
|
{
|
|
"y": 0.1412,
|
|
"strength": 0.7036
|
|
},
|
|
{
|
|
"y": 0.1765,
|
|
"strength": 0.6963
|
|
},
|
|
{
|
|
"y": 0.2,
|
|
"strength": 0.6026
|
|
},
|
|
{
|
|
"y": 0.2353,
|
|
"strength": 0.6125
|
|
},
|
|
{
|
|
"y": 0.4706,
|
|
"strength": 0.3982
|
|
},
|
|
{
|
|
"y": 0.5059,
|
|
"strength": 0.9754
|
|
},
|
|
{
|
|
"y": 0.5412,
|
|
"strength": 0.5699
|
|
},
|
|
{
|
|
"y": 0.5765,
|
|
"strength": 0.8782
|
|
},
|
|
{
|
|
"y": 0.6,
|
|
"strength": 0.3576
|
|
},
|
|
{
|
|
"y": 0.6353,
|
|
"strength": 0.4894
|
|
},
|
|
{
|
|
"y": 0.6588,
|
|
"strength": 0.5699
|
|
},
|
|
{
|
|
"y": 0.6941,
|
|
"strength": 0.8782
|
|
},
|
|
{
|
|
"y": 0.7176,
|
|
"strength": 0.3576
|
|
},
|
|
{
|
|
"y": 0.7529,
|
|
"strength": 0.4877
|
|
},
|
|
{
|
|
"y": 0.7765,
|
|
"strength": 0.5699
|
|
},
|
|
{
|
|
"y": 0.8118,
|
|
"strength": 0.8782
|
|
},
|
|
{
|
|
"y": 0.8353,
|
|
"strength": 0.3576
|
|
},
|
|
{
|
|
"y": 0.8824,
|
|
"strength": 0.4877
|
|
},
|
|
{
|
|
"y": 0.9059,
|
|
"strength": 0.3028
|
|
},
|
|
{
|
|
"y": 0.9765,
|
|
"strength": 0.3039
|
|
}
|
|
],
|
|
"regions": [
|
|
{
|
|
"id": "top",
|
|
"kind": "chrome",
|
|
"note": "top masthead band area",
|
|
"grid": "A0:J1",
|
|
"box": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"w": 1,
|
|
"h": 0.2
|
|
},
|
|
"px": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"w": 768,
|
|
"h": 102
|
|
},
|
|
"aspect": 7.5294,
|
|
"palette": [
|
|
{
|
|
"hex": "#f5e7e8",
|
|
"coverage": 0.392
|
|
},
|
|
{
|
|
"hex": "#182838",
|
|
"coverage": 0.3825
|
|
},
|
|
{
|
|
"hex": "#bdbdc8",
|
|
"coverage": 0.1348
|
|
},
|
|
{
|
|
"hex": "#8b8b96",
|
|
"coverage": 0.0908
|
|
}
|
|
],
|
|
"detail": {
|
|
"energy": 39.1367
|
|
},
|
|
"medium": "semantic",
|
|
"plate": null,
|
|
"text": null
|
|
},
|
|
{
|
|
"id": "art",
|
|
"kind": "plate",
|
|
"note": "an exploded illustration drawing",
|
|
"grid": "E2:J4",
|
|
"box": {
|
|
"x": 0.4,
|
|
"y": 0.2,
|
|
"w": 0.6,
|
|
"h": 0.3
|
|
},
|
|
"px": {
|
|
"x": 307,
|
|
"y": 102,
|
|
"w": 461,
|
|
"h": 154
|
|
},
|
|
"aspect": 2.9935,
|
|
"palette": [
|
|
{
|
|
"hex": "#e6dfe5",
|
|
"coverage": 0.5326
|
|
},
|
|
{
|
|
"hex": "#a2a2ad",
|
|
"coverage": 0.383
|
|
},
|
|
{
|
|
"hex": "#7f7f88",
|
|
"coverage": 0.0844
|
|
}
|
|
],
|
|
"detail": {
|
|
"energy": 38.5615
|
|
},
|
|
"medium": "raster",
|
|
"plate": "assets/plates/art.png",
|
|
"text": null
|
|
},
|
|
{
|
|
"id": "body",
|
|
"kind": "text",
|
|
"note": "a paragraph of body text content",
|
|
"grid": "A5:D8",
|
|
"box": {
|
|
"x": 0,
|
|
"y": 0.5,
|
|
"w": 0.4,
|
|
"h": 0.4
|
|
},
|
|
"px": {
|
|
"x": 0,
|
|
"y": 256,
|
|
"w": 307,
|
|
"h": 205
|
|
},
|
|
"aspect": 1.4976,
|
|
"palette": [
|
|
{
|
|
"hex": "#f8e8e8",
|
|
"coverage": 0.6826
|
|
},
|
|
{
|
|
"hex": "#182838",
|
|
"coverage": 0.223
|
|
},
|
|
{
|
|
"hex": "#787878",
|
|
"coverage": 0.0848
|
|
},
|
|
{
|
|
"hex": "#b82828",
|
|
"coverage": 0.0096
|
|
}
|
|
],
|
|
"detail": {
|
|
"energy": 32.0304
|
|
},
|
|
"medium": "semantic",
|
|
"plate": null,
|
|
"text": null
|
|
}
|
|
]
|
|
} |