@typeonce/ritmo-tools 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +304 -24
  3. package/dist/cli.js +5 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/internal/version.d.ts +1 -1
  6. package/dist/internal/version.js +1 -1
  7. package/dist/music/cli/commands.d.ts +15 -0
  8. package/dist/music/cli/commands.d.ts.map +1 -0
  9. package/dist/music/cli/commands.js +180 -0
  10. package/dist/music/cli/commands.js.map +1 -0
  11. package/dist/music/cli/io.d.ts +11 -0
  12. package/dist/music/cli/io.d.ts.map +1 -0
  13. package/dist/music/cli/io.js +28 -0
  14. package/dist/music/cli/io.js.map +1 -0
  15. package/dist/music/cli/serve.d.ts +13 -0
  16. package/dist/music/cli/serve.d.ts.map +1 -0
  17. package/dist/music/cli/serve.js +168 -0
  18. package/dist/music/cli/serve.js.map +1 -0
  19. package/dist/music/core/audio.d.ts +22 -0
  20. package/dist/music/core/audio.d.ts.map +1 -0
  21. package/dist/music/core/audio.js +95 -0
  22. package/dist/music/core/audio.js.map +1 -0
  23. package/dist/music/core/check.d.ts +51 -0
  24. package/dist/music/core/check.d.ts.map +1 -0
  25. package/dist/music/core/check.js +113 -0
  26. package/dist/music/core/check.js.map +1 -0
  27. package/dist/music/core/instruments.d.ts +179 -0
  28. package/dist/music/core/instruments.d.ts.map +1 -0
  29. package/dist/music/core/instruments.js +531 -0
  30. package/dist/music/core/instruments.js.map +1 -0
  31. package/dist/music/core/listen.d.ts +32 -0
  32. package/dist/music/core/listen.d.ts.map +1 -0
  33. package/dist/music/core/listen.js +350 -0
  34. package/dist/music/core/listen.js.map +1 -0
  35. package/dist/music/core/midi.d.ts +4 -0
  36. package/dist/music/core/midi.d.ts.map +1 -0
  37. package/dist/music/core/midi.js +76 -0
  38. package/dist/music/core/midi.js.map +1 -0
  39. package/dist/music/core/render.d.ts +37 -0
  40. package/dist/music/core/render.d.ts.map +1 -0
  41. package/dist/music/core/render.js +204 -0
  42. package/dist/music/core/render.js.map +1 -0
  43. package/dist/music/core/review.d.ts +41 -0
  44. package/dist/music/core/review.d.ts.map +1 -0
  45. package/dist/music/core/review.js +139 -0
  46. package/dist/music/core/review.js.map +1 -0
  47. package/dist/music/core/song.d.ts +144 -0
  48. package/dist/music/core/song.d.ts.map +1 -0
  49. package/dist/music/core/song.js +291 -0
  50. package/dist/music/core/song.js.map +1 -0
  51. package/dist/music/page/assets/index-BfO_jOqP.js +4 -0
  52. package/dist/music/page/assets/index-Dw14kxkL.css +1 -0
  53. package/dist/music/page/index.html +19 -0
  54. package/dist/pixel/cli/commands.d.ts.map +1 -1
  55. package/dist/pixel/cli/commands.js +122 -46
  56. package/dist/pixel/cli/commands.js.map +1 -1
  57. package/dist/pixel/cli/io.d.ts +5 -1
  58. package/dist/pixel/cli/io.d.ts.map +1 -1
  59. package/dist/pixel/cli/io.js +16 -1
  60. package/dist/pixel/cli/io.js.map +1 -1
  61. package/dist/pixel/core/animation.d.ts +23 -8
  62. package/dist/pixel/core/animation.d.ts.map +1 -1
  63. package/dist/pixel/core/animation.js +41 -18
  64. package/dist/pixel/core/animation.js.map +1 -1
  65. package/dist/pixel/core/grid.d.ts +3 -2
  66. package/dist/pixel/core/grid.d.ts.map +1 -1
  67. package/dist/pixel/core/grid.js +14 -6
  68. package/dist/pixel/core/grid.js.map +1 -1
  69. package/dist/pixel/core/preview.d.ts +8 -3
  70. package/dist/pixel/core/preview.d.ts.map +1 -1
  71. package/dist/pixel/core/preview.js +39 -25
  72. package/dist/pixel/core/preview.js.map +1 -1
  73. package/dist/pixel/core/project.d.ts +27 -0
  74. package/dist/pixel/core/project.d.ts.map +1 -0
  75. package/dist/pixel/core/project.js +117 -0
  76. package/dist/pixel/core/project.js.map +1 -0
  77. package/dist/pixel/core/recipe.d.ts.map +1 -1
  78. package/dist/pixel/core/recipe.js +43 -6
  79. package/dist/pixel/core/recipe.js.map +1 -1
  80. package/dist/pixel/core/report.d.ts +21 -3
  81. package/dist/pixel/core/report.d.ts.map +1 -1
  82. package/dist/pixel/core/report.js +52 -22
  83. package/dist/pixel/core/report.js.map +1 -1
  84. package/dist/pixel/core/sheet.d.ts +68 -8
  85. package/dist/pixel/core/sheet.d.ts.map +1 -1
  86. package/dist/pixel/core/sheet.js +250 -32
  87. package/dist/pixel/core/sheet.js.map +1 -1
  88. package/dist/pixel/core/spritesheet.d.ts +43 -35
  89. package/dist/pixel/core/spritesheet.d.ts.map +1 -1
  90. package/dist/pixel/core/spritesheet.js +63 -59
  91. package/dist/pixel/core/spritesheet.js.map +1 -1
  92. package/dist/sound/cli/commands.d.ts +25 -0
  93. package/dist/sound/cli/commands.d.ts.map +1 -0
  94. package/dist/sound/cli/commands.js +137 -0
  95. package/dist/sound/cli/commands.js.map +1 -0
  96. package/dist/sound/cli/io.d.ts +24 -0
  97. package/dist/sound/cli/io.d.ts.map +1 -0
  98. package/dist/sound/cli/io.js +51 -0
  99. package/dist/sound/cli/io.js.map +1 -0
  100. package/dist/sound/cli/serve.d.ts +11 -0
  101. package/dist/sound/cli/serve.d.ts.map +1 -0
  102. package/dist/sound/cli/serve.js +147 -0
  103. package/dist/sound/cli/serve.js.map +1 -0
  104. package/dist/sound/core/measure.d.ts +67 -0
  105. package/dist/sound/core/measure.d.ts.map +1 -0
  106. package/dist/sound/core/measure.js +138 -0
  107. package/dist/sound/core/measure.js.map +1 -0
  108. package/dist/sound/core/recipe.d.ts +143 -0
  109. package/dist/sound/core/recipe.d.ts.map +1 -0
  110. package/dist/sound/core/recipe.js +292 -0
  111. package/dist/sound/core/recipe.js.map +1 -0
  112. package/dist/sound/core/render.d.ts +37 -0
  113. package/dist/sound/core/render.d.ts.map +1 -0
  114. package/dist/sound/core/render.js +317 -0
  115. package/dist/sound/core/render.js.map +1 -0
  116. package/dist/sound/core/review.d.ts +52 -0
  117. package/dist/sound/core/review.d.ts.map +1 -0
  118. package/dist/sound/core/review.js +89 -0
  119. package/dist/sound/core/review.js.map +1 -0
  120. package/dist/sound/core/takes.d.ts +29 -0
  121. package/dist/sound/core/takes.d.ts.map +1 -0
  122. package/dist/sound/core/takes.js +109 -0
  123. package/dist/sound/core/takes.js.map +1 -0
  124. package/dist/sound/core/wav.d.ts +4 -0
  125. package/dist/sound/core/wav.d.ts.map +1 -0
  126. package/dist/sound/core/wav.js +28 -0
  127. package/dist/sound/core/wav.js.map +1 -0
  128. package/dist/sound/page/assets/index-Cjun5b92.js +6 -0
  129. package/dist/sound/page/assets/index-DZm59wkQ.css +1 -0
  130. package/dist/sound/page/index.html +19 -0
  131. package/package.json +10 -4
@@ -0,0 +1,27 @@
1
+ /**
2
+ * A project PNG: the source picture with its recipe stored inside, so one
3
+ * file reopens a whole session (the page's **Project PNG**, `pixel fix
4
+ * --project`). The pixels are the picture's own, untouched; the recipe is one
5
+ * uncompressed `iTXt` text chunk with the keyword `ritmo-pixel-recipe`, placed
6
+ * right after the header. Viewers skip it, `exiftool` and `pngcheck -t` list
7
+ * it, and removing it (`exiftool -all=`, `oxipng --strip safe`, or
8
+ * `withoutProjectRecipe`) gives back the plain picture.
9
+ */
10
+ /** The keyword of the text chunk that holds the recipe. */
11
+ export declare const PROJECT_KEYWORD = "ritmo-pixel-recipe";
12
+ /** Whether these bytes start like a PNG. */
13
+ export declare const isPng: (bytes: Uint8Array) => boolean;
14
+ /**
15
+ * The recipe stored in a project PNG, as the JSON text `decodeRecipe` reads;
16
+ * undefined for a plain picture (or anything that is not a PNG).
17
+ */
18
+ export declare const readProjectRecipe: (bytes: Uint8Array) => string | undefined;
19
+ /**
20
+ * The PNG with this recipe (`encodeRecipe`'s text) stored inside, replacing
21
+ * any recipe it held; the pixels and every other chunk stay as they are.
22
+ * Throws when the bytes are not a PNG.
23
+ */
24
+ export declare const withProjectRecipe: (png: Uint8Array, recipe: string) => Uint8Array<ArrayBuffer>;
25
+ /** The PNG without its recipe: the plain picture. Throws when the bytes are not a PNG. */
26
+ export declare const withoutProjectRecipe: (png: Uint8Array) => Uint8Array<ArrayBuffer>;
27
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/pixel/core/project.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,eAAe,uBAAuB,CAAA;AA2BnD,4CAA4C;AAC5C,eAAO,MAAM,KAAK,UAAW,UAAU,KAAG,OAA+E,CAAA;AA8BzH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,UAAW,UAAU,KAAG,MAAM,GAAG,SAc9D,CAAA;AA6BD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAS,UAAU,UAAU,MAAM,KAAG,UAAU,CAAC,WAAW,CAIzF,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,QAAS,UAAU,KAAG,UAAU,CAAC,WAAW,CACQ,CAAA"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * A project PNG: the source picture with its recipe stored inside, so one
3
+ * file reopens a whole session (the page's **Project PNG**, `pixel fix
4
+ * --project`). The pixels are the picture's own, untouched; the recipe is one
5
+ * uncompressed `iTXt` text chunk with the keyword `ritmo-pixel-recipe`, placed
6
+ * right after the header. Viewers skip it, `exiftool` and `pngcheck -t` list
7
+ * it, and removing it (`exiftool -all=`, `oxipng --strip safe`, or
8
+ * `withoutProjectRecipe`) gives back the plain picture.
9
+ */
10
+ /** The keyword of the text chunk that holds the recipe. */
11
+ export const PROJECT_KEYWORD = "ritmo-pixel-recipe";
12
+ const SIGNATURE = [137, 80, 78, 71, 13, 10, 26, 10];
13
+ const CRC_TABLE = (() => {
14
+ const table = new Uint32Array(256);
15
+ for (let n = 0; n < 256; n++) {
16
+ let c = n;
17
+ for (let k = 0; k < 8; k++)
18
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
19
+ table[n] = c >>> 0;
20
+ }
21
+ return table;
22
+ })();
23
+ const crc32 = (bytes) => {
24
+ let c = 0xffffffff;
25
+ for (const byte of bytes)
26
+ c = CRC_TABLE[(c ^ byte) & 0xff] ^ (c >>> 8);
27
+ return (c ^ 0xffffffff) >>> 0;
28
+ };
29
+ /** Whether these bytes start like a PNG. */
30
+ export const isPng = (bytes) => bytes.length >= 8 && SIGNATURE.every((byte, i) => bytes[i] === byte);
31
+ /** The file's chunks in order; undefined when it is not a PNG or a chunk runs past the end. */
32
+ const chunksOf = (bytes) => {
33
+ if (!isPng(bytes))
34
+ return undefined;
35
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
36
+ const chunks = [];
37
+ let at = 8;
38
+ while (at + 12 <= bytes.length) {
39
+ const length = view.getUint32(at);
40
+ const end = at + 12 + length;
41
+ if (end > bytes.length)
42
+ return undefined;
43
+ const type = String.fromCharCode(...bytes.subarray(at + 4, at + 8));
44
+ chunks.push({ type, data: bytes.subarray(at + 8, at + 8 + length), raw: bytes.subarray(at, end) });
45
+ at = end;
46
+ if (type === "IEND")
47
+ break;
48
+ }
49
+ return chunks;
50
+ };
51
+ const latin1 = (text) => Uint8Array.from(text, (char) => char.charCodeAt(0));
52
+ /** The keyword a text chunk's data starts with. */
53
+ const keywordOf = (data) => {
54
+ const end = data.indexOf(0);
55
+ return end < 0 ? "" : String.fromCharCode(...data.subarray(0, end));
56
+ };
57
+ const isRecipeChunk = (chunk) => chunk.type === "iTXt" && keywordOf(chunk.data) === PROJECT_KEYWORD;
58
+ /**
59
+ * The recipe stored in a project PNG, as the JSON text `decodeRecipe` reads;
60
+ * undefined for a plain picture (or anything that is not a PNG).
61
+ */
62
+ export const readProjectRecipe = (bytes) => {
63
+ const chunk = chunksOf(bytes)?.find(isRecipeChunk);
64
+ if (chunk === undefined)
65
+ return undefined;
66
+ const data = chunk.data;
67
+ // keyword \0, compression flag, compression method, language \0, translated keyword \0, text
68
+ let at = PROJECT_KEYWORD.length + 1;
69
+ if (data[at] !== 0)
70
+ return undefined;
71
+ at += 2;
72
+ for (let skip = 0; skip < 2; skip++) {
73
+ const end = data.indexOf(0, at);
74
+ if (end < 0)
75
+ return undefined;
76
+ at = end + 1;
77
+ }
78
+ return new TextDecoder().decode(data.subarray(at));
79
+ };
80
+ const concat = (parts) => {
81
+ const out = new Uint8Array(parts.reduce((sum, part) => sum + part.length, 0));
82
+ let at = 0;
83
+ for (const part of parts) {
84
+ out.set(part, at);
85
+ at += part.length;
86
+ }
87
+ return out;
88
+ };
89
+ const chunkBytes = (type, data) => {
90
+ const body = concat([latin1(type), data]);
91
+ const out = new Uint8Array(body.length + 8);
92
+ const view = new DataView(out.buffer);
93
+ view.setUint32(0, data.length);
94
+ out.set(body, 4);
95
+ view.setUint32(out.length - 4, crc32(body));
96
+ return out;
97
+ };
98
+ /** The PNG's chunks with every recipe chunk left out; throws when it is not a readable PNG. */
99
+ const plainChunks = (png) => {
100
+ const chunks = chunksOf(png);
101
+ if (chunks === undefined || chunks[0]?.type !== "IHDR")
102
+ throw new Error("not a PNG");
103
+ return chunks.filter((chunk) => !isRecipeChunk(chunk));
104
+ };
105
+ /**
106
+ * The PNG with this recipe (`encodeRecipe`'s text) stored inside, replacing
107
+ * any recipe it held; the pixels and every other chunk stay as they are.
108
+ * Throws when the bytes are not a PNG.
109
+ */
110
+ export const withProjectRecipe = (png, recipe) => {
111
+ const [header, ...rest] = plainChunks(png);
112
+ const data = concat([latin1(PROJECT_KEYWORD), new Uint8Array([0, 0, 0, 0, 0]), new TextEncoder().encode(recipe)]);
113
+ return concat([Uint8Array.from(SIGNATURE), header.raw, chunkBytes("iTXt", data), ...rest.map((chunk) => chunk.raw)]);
114
+ };
115
+ /** The PNG without its recipe: the plain picture. Throws when the bytes are not a PNG. */
116
+ export const withoutProjectRecipe = (png) => concat([Uint8Array.from(SIGNATURE), ...plainChunks(png).map((chunk) => chunk.raw)]);
117
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/pixel/core/project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../src/pixel/core/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../src/pixel/core/recipe.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { defaultBackgroundOptions } from "./background.js";
10
10
  import { defaultLostThreshold } from "./lost.js";
11
11
  import { defaultSampleOptions } from "./fix.js";
12
12
  import { presets } from "./palette.js";
13
- import { anchors, defaultSheet } from "./sheet.js";
13
+ import { anchors, animationOf, DEFAULT_FPS, defaultSheet, isAnimationName } from "./sheet.js";
14
14
  export const defaultRecipe = {
15
15
  grid: { kind: "auto" },
16
16
  follow: false,
@@ -203,14 +203,51 @@ export const decodeRecipe = (text) => {
203
203
  }
204
204
  ];
205
205
  });
206
- const fps = number(value.fps, "sheet.fps", defaultSheet.fps);
207
- if (!(fps > 0))
208
- errors.push("sheet.fps must be more than 0");
206
+ const playing = (entry, where) => {
207
+ const fps = number(entry.fps, `${where}.fps`, DEFAULT_FPS);
208
+ if (!(fps > 0))
209
+ errors.push(`${where}.fps must be more than 0`);
210
+ return { fps, loop: oneOf(entry.loop, `${where}.loop`, ["forward", "pingpong"], "forward") };
211
+ };
212
+ // A recipe from before sheets held animations: every frame is one animation, played as the sheet said.
213
+ const animations = (() => {
214
+ if (value.animations === undefined) {
215
+ const played = playing(value, "sheet");
216
+ return read.length === 0 ? [] : [{ ...animationOf("animation-1", read.map((_, i) => i)), ...played }];
217
+ }
218
+ if (!Array.isArray(value.animations)) {
219
+ errors.push("sheet.animations must be a list");
220
+ return [];
221
+ }
222
+ const seen = new Set();
223
+ const names = new Set();
224
+ const list = value.animations.flatMap((entry, a) => {
225
+ const where = `sheet.animations[${a}]`;
226
+ if (!isRecord(entry) || typeof entry.name !== "string" || !isAnimationName(entry.name) || !Array.isArray(entry.frames)) {
227
+ errors.push(`${where} needs a name (letters, digits, "-", "_", ".") and a list of frames`);
228
+ return [];
229
+ }
230
+ if (names.has(entry.name))
231
+ errors.push(`${where}: another animation is named "${entry.name}"`);
232
+ names.add(entry.name);
233
+ const frames = entry.frames.filter((i) => Number.isInteger(i) && i >= 0 && i < read.length);
234
+ if (frames.length !== entry.frames.length || frames.length === 0)
235
+ errors.push(`${where}.frames must be frame numbers from 0 to ${read.length - 1}, at least one`);
236
+ for (const i of frames) {
237
+ if (seen.has(i))
238
+ errors.push(`frame ${i} is in more than one animation`);
239
+ seen.add(i);
240
+ }
241
+ return [{ name: entry.name, frames, include: boolean(entry.include, `${where}.include`, true), ...playing(entry, where) }];
242
+ });
243
+ if (seen.size !== read.length)
244
+ errors.push(`every frame must be in an animation (${read.length - seen.size} are not)`);
245
+ return list;
246
+ })();
209
247
  return {
210
248
  frames: read,
249
+ animations,
211
250
  anchor: oneOf(value.anchor, "sheet.anchor", anchors.map((entry) => entry.id), defaultSheet.anchor),
212
- fps,
213
- loop: oneOf(value.loop, "sheet.loop", ["forward", "pingpong"], defaultSheet.loop),
214
251
  padding: Math.max(0, Math.round(number(value.padding, "sheet.padding", defaultSheet.padding)))
215
252
  };
216
253
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/pixel/core/recipe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/pixel/core/recipe.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * measure; it rarely fools both, and when either is low the answer is
9
9
  * "needs-person", never a confident bad fix.
10
10
  */
11
- import type { AnimationOutcome } from "./animation.ts";
11
+ import { type AnimationOutcome } from "./animation.ts";
12
12
  import { type CellSamples, type PixelArt } from "./fix.ts";
13
13
  import type { RgbaImage } from "./grid.ts";
14
14
  import { type Issue, type LintRules } from "./lint.ts";
@@ -44,10 +44,19 @@ export interface Report {
44
44
  /** For an animation sheet: its frames, where they are in the source, and how sure each frame's own grid was. */
45
45
  readonly animation?: {
46
46
  readonly frames: number;
47
+ /** Frames in the exported animations. */
47
48
  readonly included: number;
48
- readonly fps: number;
49
- readonly loop: string;
50
49
  readonly anchor: string;
50
+ /** Every animation on the sheet: its frames (numbered from 1, in play order), whether it is exported, and its size. */
51
+ readonly animations: ReadonlyArray<{
52
+ readonly name: string;
53
+ readonly frames: ReadonlyArray<number>;
54
+ readonly include: boolean;
55
+ readonly fps: number;
56
+ readonly loop: string;
57
+ readonly width: number;
58
+ readonly height: number;
59
+ }>;
51
60
  readonly boxes: ReadonlyArray<{
52
61
  readonly frame: number;
53
62
  readonly x: number;
@@ -78,6 +87,15 @@ export declare const CONFIDENT: {
78
87
  };
79
88
  /** How much of the middle of each cell (the pixels read) is close to the cell's own color: 1 when every cell is flat. */
80
89
  export declare const gridFit: (samples: CellSamples) => number;
90
+ /**
91
+ * True when a picture is already pixel art at its own size: no grid of fake
92
+ * pixels found in it, cells under 1.5 pixels, a grid found with little
93
+ * confidence, or an unsure one in a picture with few colors (a small sprite's
94
+ * own shapes can look like a grid). `outcome` is the fix with the grid found.
95
+ * The CLI's `check` and the page both decide with it, so one picture opens
96
+ * the same way in both.
97
+ */
98
+ export declare const isNative: (image: RgbaImage, outcome: Outcome | undefined) => boolean;
81
99
  export interface Checked {
82
100
  readonly report: Report;
83
101
  /** The recipe with its grid resolved (found, or one pixel per pixel for pixel art): what a fix runs and saves. */
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/pixel/core/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/pixel/core/report.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
+ /**
2
+ * What `check` says about a picture, for agents first: is it clean pixel
3
+ * art, can it be fixed with confidence, or does a person need to look?
4
+ *
5
+ * The grid is judged twice, independently: by detection's own confidence,
6
+ * and by the fit (scaling the fixed pixels back up over the source, how much
7
+ * of the middle of each cell really is one color). A wrong grid can fool one
8
+ * measure; it rarely fools both, and when either is low the answer is
9
+ * "needs-person", never a confident bad fix.
10
+ */
11
+ import { atlasClips } from "./animation.js";
1
12
  import { pack, toHex, toOklab, unpack } from "./color.js";
2
13
  import { medianColor, usedColors } from "./fix.js";
3
14
  import { lintArt } from "./lint.js";
4
15
  import { runRecipe } from "./pipeline.js";
5
- import { sheetArt } from "./spritesheet.js";
16
+ import { atlasOf } from "./spritesheet.js";
6
17
  import { defaultSheet } from "./sheet.js";
7
18
  import { artOfImage } from "./sprite.js";
8
19
  /** Thresholds for a confident fix. */
@@ -41,10 +52,13 @@ const round = (value, places = 3) => Math.round(value * 10 ** places) / 10 ** pl
41
52
  const FEW_COLORS = 256;
42
53
  /**
43
54
  * True when a picture is already pixel art at its own size: no grid of fake
44
- * pixels found in it, or only an unsure one in a picture with few colors (a
45
- * small sprite's own shapes can look like a grid).
55
+ * pixels found in it, cells under 1.5 pixels, a grid found with little
56
+ * confidence, or an unsure one in a picture with few colors (a small sprite's
57
+ * own shapes can look like a grid). `outcome` is the fix with the grid found.
58
+ * The CLI's `check` and the page both decide with it, so one picture opens
59
+ * the same way in both.
46
60
  */
47
- const isNative = (image, outcome) => {
61
+ export const isNative = (image, outcome) => {
48
62
  if (outcome === undefined)
49
63
  return true;
50
64
  const { spec, detection } = outcome;
@@ -186,20 +200,28 @@ const OTHER_SCALE = 0.05;
186
200
  * when the grid is unsure or a frame came out empty.
187
201
  */
188
202
  export const reportOfSheet = (image, recipe, outcome, rules = {}) => {
189
- const sheet = recipe.sheet;
190
- const placed = outcome.placed.map((frame) => frame.art);
191
- const strip = sheetArt(placed, { columns: placed.length, spacing: 1 });
203
+ const sheet = recipe.sheet ?? defaultSheet;
204
+ const clips = atlasClips(outcome, sheet);
205
+ const placed = clips.flatMap((clip) => clip.frames);
206
+ const strip = atlasOf(clips, { columns: Number.MAX_SAFE_INTEGER, spacing: 1 }).art;
192
207
  const issues = lintArt(strip, { ...rules, sizes: undefined, palette: rules.palette ?? recipe.palette?.colors }).filter(
193
208
  // Sparks and dust around a body are single pixels on purpose: stray pixels are judged on single pictures only.
194
209
  (issue) => issue.rule !== "stray-pixel");
195
- const first = placed[0];
196
- if (first !== undefined && rules.sizes !== undefined && rules.sizes.length > 0) {
197
- issues.unshift(...lintArt(first, { sizes: rules.sizes }).filter((issue) => issue.rule === "size"));
210
+ if (rules.sizes !== undefined && rules.sizes.length > 0) {
211
+ for (const clip of clips) {
212
+ issues.unshift(...lintArt(clip.frames[0], { sizes: rules.sizes })
213
+ .filter((issue) => issue.rule === "size")
214
+ .map((issue) => ({ ...issue, message: `${clip.name}: ${issue.message}` })));
215
+ }
216
+ }
217
+ if (clips.length === 0) {
218
+ issues.push({ rule: "one-frame", severity: "warning", message: "No animation is exported: check the frames found, add boxes by hand, or put an animation back in", count: 0, at: [] });
198
219
  }
199
- if (outcome.placed.length < 2) {
200
- issues.push({ rule: "one-frame", severity: "warning", message: `${outcome.placed.length} frame${outcome.placed.length === 1 ? "" : "s"} in the animation: check the frames found, or add boxes by hand`, count: 0, at: [] });
220
+ for (const clip of clips.filter((entry) => entry.frames.length === 1)) {
221
+ issues.push({ rule: "one-frame", severity: "warning", message: `${clip.name} has 1 frame: check its frames, or join it to the animation it belongs to`, count: 0, at: [] });
201
222
  }
202
- const empty = outcome.frames.filter((frame) => sheet?.frames[frame.index]?.include === true && !frame.art.indices.some((index) => index >= 0));
223
+ const exported = new Set(sheet.animations.flatMap((animation) => (animation.include ? animation.frames : [])));
224
+ const empty = outcome.frames.filter((frame) => exported.has(frame.index) && sheet.frames[frame.index]?.include === true && !frame.art.indices.some((index) => index >= 0));
203
225
  for (const frame of empty) {
204
226
  issues.push({ rule: "empty-frame", severity: "error", message: `Frame ${frame.index + 1} has nothing in it: move its box onto the art, or leave it out`, count: 0, at: [] });
205
227
  }
@@ -223,13 +245,13 @@ export const reportOfSheet = (image, recipe, outcome, rules = {}) => {
223
245
  const sure = confidence === undefined || confidence >= CONFIDENT.confidence;
224
246
  const verdict = sure && errors(issues) === 0 ? "fixable" : "needs-person";
225
247
  const colors = usedColors(strip).length;
226
- const count = outcome.placed.length;
227
- const frameSize = `${outcome.width}×${outcome.height}`;
248
+ const count = placed.length;
249
+ const what = `${clips.length} animation${clips.length === 1 ? "" : "s"} of ${count} frame${count === 1 ? "" : "s"}`;
228
250
  const summary = verdict === "fixable"
229
- ? `Animation of ${count} frame${count === 1 ? "" : "s"}, ${frameSize} each, ${colors} colors (cells ${round(size)} px${confidence === undefined ? "" : `, confidence ${Math.round(confidence * 100)}%`}).`
251
+ ? `${what}, ${colors} colors (cells ${round(size)} px${confidence === undefined ? "" : `, confidence ${Math.round(confidence * 100)}%`}).`
230
252
  : !sure
231
253
  ? `Unsure of the grid (confidence ${Math.round((confidence ?? 0) * 100)}%): look at the preview, or set the cell size by hand.`
232
- : `Animation of ${count} frames, but rules are still broken: see issues.`;
254
+ : `${what}, but rules are still broken: see issues.`;
233
255
  return {
234
256
  verdict,
235
257
  summary,
@@ -243,17 +265,25 @@ export const reportOfSheet = (image, recipe, outcome, rules = {}) => {
243
265
  ...(confidence === undefined ? {} : { confidence: round(confidence) }),
244
266
  fit: round(outcome.frames.length === 0 ? 0 : outcome.frames.reduce((sum, frame) => sum + gridFit(frame.outcome.samples), 0) / outcome.frames.length)
245
267
  },
246
- output: { width: outcome.width, height: outcome.height, colors },
268
+ // The sheet written: every exported animation, each from a new row of frames.
269
+ output: { width: strip.width, height: strip.height, colors },
247
270
  animation: {
248
271
  frames: outcome.frames.length,
249
272
  included: count,
250
- fps: sheet?.fps ?? 0,
251
- loop: sheet?.loop ?? "forward",
252
- anchor: sheet?.anchor ?? defaultSheet.anchor,
273
+ anchor: sheet.anchor,
274
+ animations: sheet.animations.map((animation, a) => ({
275
+ name: animation.name,
276
+ frames: animation.frames.map((i) => i + 1),
277
+ include: animation.include,
278
+ fps: animation.fps,
279
+ loop: animation.loop,
280
+ width: outcome.clips[a]?.width ?? 0,
281
+ height: outcome.clips[a]?.height ?? 0
282
+ })),
253
283
  boxes: outcome.frames.map((frame) => ({
254
284
  frame: frame.index + 1,
255
285
  ...frame.box,
256
- include: sheet?.frames[frame.index]?.include ?? true,
286
+ include: sheet.frames[frame.index]?.include ?? true,
257
287
  ...(frame.detection === undefined ? {} : { cell: round((frame.detection.spec.cellWidth + frame.detection.spec.cellHeight) / 2), confidence: round(frame.detection.confidence) })
258
288
  }))
259
289
  },
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/pixel/core/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/pixel/core/report.ts"],"names":[],"mappings":"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"}