@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.
- package/CHANGELOG.md +38 -0
- package/README.md +304 -24
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/internal/version.d.ts +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/music/cli/commands.d.ts +15 -0
- package/dist/music/cli/commands.d.ts.map +1 -0
- package/dist/music/cli/commands.js +180 -0
- package/dist/music/cli/commands.js.map +1 -0
- package/dist/music/cli/io.d.ts +11 -0
- package/dist/music/cli/io.d.ts.map +1 -0
- package/dist/music/cli/io.js +28 -0
- package/dist/music/cli/io.js.map +1 -0
- package/dist/music/cli/serve.d.ts +13 -0
- package/dist/music/cli/serve.d.ts.map +1 -0
- package/dist/music/cli/serve.js +168 -0
- package/dist/music/cli/serve.js.map +1 -0
- package/dist/music/core/audio.d.ts +22 -0
- package/dist/music/core/audio.d.ts.map +1 -0
- package/dist/music/core/audio.js +95 -0
- package/dist/music/core/audio.js.map +1 -0
- package/dist/music/core/check.d.ts +51 -0
- package/dist/music/core/check.d.ts.map +1 -0
- package/dist/music/core/check.js +113 -0
- package/dist/music/core/check.js.map +1 -0
- package/dist/music/core/instruments.d.ts +179 -0
- package/dist/music/core/instruments.d.ts.map +1 -0
- package/dist/music/core/instruments.js +531 -0
- package/dist/music/core/instruments.js.map +1 -0
- package/dist/music/core/listen.d.ts +32 -0
- package/dist/music/core/listen.d.ts.map +1 -0
- package/dist/music/core/listen.js +350 -0
- package/dist/music/core/listen.js.map +1 -0
- package/dist/music/core/midi.d.ts +4 -0
- package/dist/music/core/midi.d.ts.map +1 -0
- package/dist/music/core/midi.js +76 -0
- package/dist/music/core/midi.js.map +1 -0
- package/dist/music/core/render.d.ts +37 -0
- package/dist/music/core/render.d.ts.map +1 -0
- package/dist/music/core/render.js +204 -0
- package/dist/music/core/render.js.map +1 -0
- package/dist/music/core/review.d.ts +41 -0
- package/dist/music/core/review.d.ts.map +1 -0
- package/dist/music/core/review.js +139 -0
- package/dist/music/core/review.js.map +1 -0
- package/dist/music/core/song.d.ts +144 -0
- package/dist/music/core/song.d.ts.map +1 -0
- package/dist/music/core/song.js +291 -0
- package/dist/music/core/song.js.map +1 -0
- package/dist/music/page/assets/index-BfO_jOqP.js +4 -0
- package/dist/music/page/assets/index-Dw14kxkL.css +1 -0
- package/dist/music/page/index.html +19 -0
- package/dist/pixel/cli/commands.d.ts.map +1 -1
- package/dist/pixel/cli/commands.js +122 -46
- package/dist/pixel/cli/commands.js.map +1 -1
- package/dist/pixel/cli/io.d.ts +5 -1
- package/dist/pixel/cli/io.d.ts.map +1 -1
- package/dist/pixel/cli/io.js +16 -1
- package/dist/pixel/cli/io.js.map +1 -1
- package/dist/pixel/core/animation.d.ts +23 -8
- package/dist/pixel/core/animation.d.ts.map +1 -1
- package/dist/pixel/core/animation.js +41 -18
- package/dist/pixel/core/animation.js.map +1 -1
- package/dist/pixel/core/grid.d.ts +3 -2
- package/dist/pixel/core/grid.d.ts.map +1 -1
- package/dist/pixel/core/grid.js +14 -6
- package/dist/pixel/core/grid.js.map +1 -1
- package/dist/pixel/core/preview.d.ts +8 -3
- package/dist/pixel/core/preview.d.ts.map +1 -1
- package/dist/pixel/core/preview.js +39 -25
- package/dist/pixel/core/preview.js.map +1 -1
- package/dist/pixel/core/project.d.ts +27 -0
- package/dist/pixel/core/project.d.ts.map +1 -0
- package/dist/pixel/core/project.js +117 -0
- package/dist/pixel/core/project.js.map +1 -0
- package/dist/pixel/core/recipe.d.ts.map +1 -1
- package/dist/pixel/core/recipe.js +43 -6
- package/dist/pixel/core/recipe.js.map +1 -1
- package/dist/pixel/core/report.d.ts +21 -3
- package/dist/pixel/core/report.d.ts.map +1 -1
- package/dist/pixel/core/report.js +52 -22
- package/dist/pixel/core/report.js.map +1 -1
- package/dist/pixel/core/sheet.d.ts +68 -8
- package/dist/pixel/core/sheet.d.ts.map +1 -1
- package/dist/pixel/core/sheet.js +250 -32
- package/dist/pixel/core/sheet.js.map +1 -1
- package/dist/pixel/core/spritesheet.d.ts +43 -35
- package/dist/pixel/core/spritesheet.d.ts.map +1 -1
- package/dist/pixel/core/spritesheet.js +63 -59
- package/dist/pixel/core/spritesheet.js.map +1 -1
- package/dist/sound/cli/commands.d.ts +25 -0
- package/dist/sound/cli/commands.d.ts.map +1 -0
- package/dist/sound/cli/commands.js +137 -0
- package/dist/sound/cli/commands.js.map +1 -0
- package/dist/sound/cli/io.d.ts +24 -0
- package/dist/sound/cli/io.d.ts.map +1 -0
- package/dist/sound/cli/io.js +51 -0
- package/dist/sound/cli/io.js.map +1 -0
- package/dist/sound/cli/serve.d.ts +11 -0
- package/dist/sound/cli/serve.d.ts.map +1 -0
- package/dist/sound/cli/serve.js +147 -0
- package/dist/sound/cli/serve.js.map +1 -0
- package/dist/sound/core/measure.d.ts +67 -0
- package/dist/sound/core/measure.d.ts.map +1 -0
- package/dist/sound/core/measure.js +138 -0
- package/dist/sound/core/measure.js.map +1 -0
- package/dist/sound/core/recipe.d.ts +143 -0
- package/dist/sound/core/recipe.d.ts.map +1 -0
- package/dist/sound/core/recipe.js +292 -0
- package/dist/sound/core/recipe.js.map +1 -0
- package/dist/sound/core/render.d.ts +37 -0
- package/dist/sound/core/render.d.ts.map +1 -0
- package/dist/sound/core/render.js +317 -0
- package/dist/sound/core/render.js.map +1 -0
- package/dist/sound/core/review.d.ts +52 -0
- package/dist/sound/core/review.d.ts.map +1 -0
- package/dist/sound/core/review.js +89 -0
- package/dist/sound/core/review.js.map +1 -0
- package/dist/sound/core/takes.d.ts +29 -0
- package/dist/sound/core/takes.d.ts.map +1 -0
- package/dist/sound/core/takes.js +109 -0
- package/dist/sound/core/takes.js.map +1 -0
- package/dist/sound/core/wav.d.ts +4 -0
- package/dist/sound/core/wav.d.ts.map +1 -0
- package/dist/sound/core/wav.js +28 -0
- package/dist/sound/core/wav.js.map +1 -0
- package/dist/sound/page/assets/index-Cjun5b92.js +6 -0
- package/dist/sound/page/assets/index-DZm59wkQ.css +1 -0
- package/dist/sound/page/index.html +19 -0
- package/package.json +10 -4
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
6
|
+
<title>Music lab · Ritmo</title>
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
|
+
<link
|
|
10
|
+
rel="stylesheet"
|
|
11
|
+
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap"
|
|
12
|
+
/>
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-BfO_jOqP.js"></script>
|
|
14
|
+
<link rel="stylesheet" crossorigin href="./assets/index-Dw14kxkL.css">
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<div id="app"></div>
|
|
18
|
+
</body>
|
|
19
|
+
</html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/pixel/cli/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAwB,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAY,OAAO,EAAQ,MAAM,YAAY,CAAA;AAgBpD,OAAO,EAAE,UAAU,EAAkF,MAAM,aAAa,CAAA;;;;AAGxH,kEAAkE;AAClE,qBAAa,IAAK,SAAQ,UAAyB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;IAC3E,IAAa,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAE7C;IACD,SAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,SAAQ;CAClD;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/pixel/cli/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAwB,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAY,OAAO,EAAQ,MAAM,YAAY,CAAA;AAgBpD,OAAO,EAAE,UAAU,EAAkF,MAAM,aAAa,CAAA;;;;AAGxH,kEAAkE;AAClE,qBAAa,IAAK,SAAQ,UAAyB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;IAC3E,IAAa,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAE7C;IACD,SAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,SAAQ;CAClD;AAqeD,eAAO,MAAM,KAAK,yGAGjB,CAAA"}
|
|
@@ -15,16 +15,16 @@ import { TRANSPARENT, usedColors } from "../core/fix.js";
|
|
|
15
15
|
import { toJson, toRgba, toSvg } from "../core/export.js";
|
|
16
16
|
import { presets, proposePalette } from "../core/palette.js";
|
|
17
17
|
import { runRecipe } from "../core/pipeline.js";
|
|
18
|
-
import { detectFrames, proposeForSheet, runSheet } from "../core/animation.js";
|
|
18
|
+
import { atlasClips, detectFrames, proposeForSheet, runSheet } from "../core/animation.js";
|
|
19
19
|
import { toGif } from "../core/gif.js";
|
|
20
20
|
import { fitScale, previewArt, previewFix, previewSheet } from "../core/preview.js";
|
|
21
|
-
import { defaultSheet, playOrder } from "../core/sheet.js";
|
|
22
|
-
import {
|
|
21
|
+
import { animationOf, defaultSheet, isAnimationName, playOrder, withFrames } from "../core/sheet.js";
|
|
22
|
+
import { atlasOf, spritesheetJson } from "../core/spritesheet.js";
|
|
23
23
|
import { encodeRecipe } from "../core/recipe.js";
|
|
24
24
|
import { checkImage, compareReports, reportOfArt, reportOfFix, reportOfSheet } from "../core/report.js";
|
|
25
25
|
import { artOfImage, formatSprite } from "../core/sprite.js";
|
|
26
26
|
import { CliFailure, CONFIG_FILE, decodeOrFail, loadConfig, loadPalette, starterConfig } from "./config.js";
|
|
27
|
-
import { outputBase, printJson, readPicture, readSource, readText, writeBytes, writePng, writeText } from "./io.js";
|
|
27
|
+
import { outputBase, printJson, readPicture, readProjectRecipeOf, readSource, readText, writeBytes, writePng, writeProject, writeText } from "./io.js";
|
|
28
28
|
/** Ends the run with an exit code, already reported on stdout. */
|
|
29
29
|
export class Exit extends Data.TaggedError("Exit") {
|
|
30
30
|
get [Runtime.errorExitCode]() {
|
|
@@ -48,11 +48,17 @@ const metric = Flag.Literals("metric", ["oklab", "ciede2000"]).pipe(Flag.withDes
|
|
|
48
48
|
const dither = Flag.Boolean("dither").pipe(Flag.withDefault(false), Flag.withDescription("Ordered dithering where the palette has no close color."));
|
|
49
49
|
const shrink = Flag.Int("shrink-to").pipe(Flag.withDescription("Merge pixels down to this width, keeping outlines."), Flag.optional);
|
|
50
50
|
const overrides = { palette, removeBackground, crop, cleanup, metric, dither, shrink };
|
|
51
|
-
/**
|
|
52
|
-
|
|
51
|
+
/**
|
|
52
|
+
* The recipe a command runs: the config's, then the recipe file (or, without
|
|
53
|
+
* one, the recipe stored in the input when it is a project PNG), then the flags.
|
|
54
|
+
* `stored` says whether the input's own recipe was used, for the report.
|
|
55
|
+
*/
|
|
56
|
+
const recipeOf = Effect.fn("recipeOf")(function* (project, file, flags, input) {
|
|
53
57
|
let recipe = project.recipe;
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
const inside = Option.isNone(file) && input !== undefined ? yield* readProjectRecipeOf(input) : Option.none();
|
|
59
|
+
const text = Option.isSome(file) ? Option.some(yield* readText(file.value)) : inside;
|
|
60
|
+
if (Option.isSome(text)) {
|
|
61
|
+
const fromFile = yield* decodeOrFail(text.value, Option.isSome(file) ? file.value : `${input} (its stored recipe)`);
|
|
56
62
|
recipe = { ...fromFile, palette: fromFile.palette ?? recipe.palette };
|
|
57
63
|
}
|
|
58
64
|
if (Option.isSome(flags.palette))
|
|
@@ -69,8 +75,10 @@ const recipeOf = Effect.fn("recipeOf")(function* (project, file, flags) {
|
|
|
69
75
|
recipe = { ...recipe, dither: "ordered" };
|
|
70
76
|
if (Option.isSome(flags.shrink))
|
|
71
77
|
recipe = { ...recipe, targetWidth: flags.shrink.value };
|
|
72
|
-
return recipe;
|
|
78
|
+
return { recipe, stored: Option.isSome(inside) };
|
|
73
79
|
});
|
|
80
|
+
/** What a report says about where its recipe came from: only when the input's own stored recipe ran. */
|
|
81
|
+
const storedNote = (stored) => (stored ? { storedRecipe: true } : {});
|
|
74
82
|
/** The project's rules, with the recipe's palette when the config names none. */
|
|
75
83
|
const rulesOf = (project, recipe) => ({ ...project.rules, palette: project.rules.palette ?? recipe.palette?.colors });
|
|
76
84
|
/** Reads "8" or "8x6" as a cell size, and "2,3" as an offset. */
|
|
@@ -140,10 +148,10 @@ const preview = (image, fixed) => {
|
|
|
140
148
|
// Commands.
|
|
141
149
|
const check = Command.make("check", { input: Argument.String("input").pipe(Argument.withDescription("A PNG or JPEG, a sprite source, or a JSON map.")), config, recipe: recipeFlag, ...overrides }, Effect.fn("check")(function* (flags) {
|
|
142
150
|
const project = yield* loadConfig(flags.config);
|
|
143
|
-
const recipe = yield* recipeOf(project, flags.recipe, flags);
|
|
151
|
+
const { recipe, stored } = yield* recipeOf(project, flags.recipe, flags, flags.input);
|
|
144
152
|
const source = yield* readSource(flags.input);
|
|
145
153
|
const report = source.kind === "art" ? reportOfArt(source.art, rulesOf(project, recipe)) : checkImage(source.image, recipe, rulesOf(project, recipe)).report;
|
|
146
|
-
yield* printJson({ file: flags.input, ...report });
|
|
154
|
+
yield* printJson({ file: flags.input, ...storedNote(stored), ...report });
|
|
147
155
|
yield* exitWith(exitCode[report.verdict]);
|
|
148
156
|
})).pipe(Command.withDescription("Is this clean pixel art, can it be fixed with confidence, or does a person need to look? Writes nothing."));
|
|
149
157
|
const fix = Command.make("fix", {
|
|
@@ -155,11 +163,14 @@ const fix = Command.make("fix", {
|
|
|
155
163
|
cell: Flag.String("cell").pipe(Flag.withDescription('The grid\'s cell size in source pixels, "8" or "8x6", instead of finding it.'), Flag.optional),
|
|
156
164
|
offset: Flag.String("offset").pipe(Flag.withDescription('Where the grid starts, "x,y" in source pixels (with --cell).'), Flag.optional),
|
|
157
165
|
follow: Flag.Boolean("follow").pipe(Flag.withDefault(false), Flag.withDescription("Move each grid line onto its nearest edge, for cells that drift.")),
|
|
166
|
+
project: Flag.Boolean("project").pipe(Flag.withDefault(false), Flag.withDescription("Also write a project PNG: the input with this fix's recipe stored inside, to open in the web page and finish by hand. Not a game asset.")),
|
|
158
167
|
out,
|
|
159
168
|
scale
|
|
160
169
|
}, Effect.fn("fix")(function* (flags) {
|
|
161
170
|
const project = yield* loadConfig(flags.config);
|
|
162
|
-
|
|
171
|
+
const start = yield* recipeOf(project, flags.recipe, flags, flags.input);
|
|
172
|
+
const stored = start.stored;
|
|
173
|
+
let recipe = start.recipe;
|
|
163
174
|
if (Option.isSome(flags.cell))
|
|
164
175
|
recipe = { ...recipe, grid: yield* parseCell(flags.cell.value, flags.offset) };
|
|
165
176
|
if (flags.follow)
|
|
@@ -169,7 +180,12 @@ const fix = Command.make("fix", {
|
|
|
169
180
|
const base = yield* outputBase(flags.input, Option.getOrUndefined(flags.out), "fixed");
|
|
170
181
|
const extra = { recipe: fixed.recipe, ...(fixed.outcome === undefined ? {} : { preview: preview(image, fixed) }) };
|
|
171
182
|
const files = fixed.outcome === undefined ? {} : yield* writeOutputs(base, fixed.outcome.exported, flags.scale, extra);
|
|
172
|
-
|
|
183
|
+
if (flags.project) {
|
|
184
|
+
// Beside the input as <name>.project.png; with --out, beside the other outputs.
|
|
185
|
+
const file = Option.isSome(flags.out) ? `${base}.project.png` : `${yield* outputBase(flags.input, undefined, "project")}.png`;
|
|
186
|
+
files.project = yield* writeProject(flags.input, image, file, encodeRecipe(fixed.recipe));
|
|
187
|
+
}
|
|
188
|
+
yield* printJson({ file: flags.input, ...storedNote(stored), ...fixed.report, files });
|
|
173
189
|
yield* exitWith(fixed.report.verdict === "needs-person" ? 4 : fixed.report.issues.some((issue) => issue.severity === "error") ? 3 : 0);
|
|
174
190
|
})).pipe(Command.withDescription("Fixes a picture into crisp pixel art, and writes it as PNG, SVG, a JSON map, a sprite source, its recipe, and a preview."));
|
|
175
191
|
const pixelate = Command.make("pixelate", {
|
|
@@ -184,7 +200,7 @@ const pixelate = Command.make("pixelate", {
|
|
|
184
200
|
scale
|
|
185
201
|
}, Effect.fn("pixelate")(function* (flags) {
|
|
186
202
|
const project = yield* loadConfig(flags.config);
|
|
187
|
-
const start = yield* recipeOf(project, flags.recipe, flags);
|
|
203
|
+
const { recipe: start } = yield* recipeOf(project, flags.recipe, flags);
|
|
188
204
|
if (flags.width < 1)
|
|
189
205
|
return yield* new CliFailure({ message: "--width must be at least 1" });
|
|
190
206
|
const recipe = {
|
|
@@ -237,7 +253,7 @@ const lint = Command.make("lint", {
|
|
|
237
253
|
})).pipe(Command.withDescription("Checks pixel art against the project's rules (size, palette, colors, transparency, stray pixels), as it is."));
|
|
238
254
|
const previewCommand = Command.make("preview", { input: Argument.String("input").pipe(Argument.withDescription("A PNG or JPEG, a sprite source, or a JSON map.")), config, recipe: recipeFlag, ...overrides, out }, Effect.fn("preview")(function* (flags) {
|
|
239
255
|
const project = yield* loadConfig(flags.config);
|
|
240
|
-
const recipe = yield* recipeOf(project, flags.recipe, flags);
|
|
256
|
+
const { recipe } = yield* recipeOf(project, flags.recipe, flags, flags.input);
|
|
241
257
|
const source = yield* readSource(flags.input);
|
|
242
258
|
const base = yield* outputBase(flags.input, Option.getOrUndefined(flags.out), "preview");
|
|
243
259
|
const picture = source.kind === "art" ? previewArt(source.art, fitScale(source.art)) : preview(source.image, fixImage(source.image, recipe, rulesOf(project, recipe), Option.none(), "dominant"));
|
|
@@ -247,7 +263,7 @@ const previewCommand = Command.make("preview", { input: Argument.String("input")
|
|
|
247
263
|
})).pipe(Command.withDescription("Writes a picture to look at: the art enlarged, or the source with its grid beside the fix."));
|
|
248
264
|
const compare = Command.make("compare", { a: Argument.String("a"), b: Argument.String("b"), config, recipe: recipeFlag, ...overrides }, Effect.fn("compare")(function* (flags) {
|
|
249
265
|
const project = yield* loadConfig(flags.config);
|
|
250
|
-
const recipe = yield* recipeOf(project, flags.recipe, flags);
|
|
266
|
+
const { recipe } = yield* recipeOf(project, flags.recipe, flags);
|
|
251
267
|
const reportOf = Effect.fn("reportOf")(function* (file) {
|
|
252
268
|
const source = yield* readSource(file);
|
|
253
269
|
return source.kind === "art" ? reportOfArt(source.art, rulesOf(project, recipe)) : checkImage(source.image, recipe, rulesOf(project, recipe)).report;
|
|
@@ -264,6 +280,42 @@ const parseBoxes = (text) => {
|
|
|
264
280
|
}
|
|
265
281
|
return Effect.succeed(boxes.map(([x, y, width, height]) => ({ box: { x: x, y: y, width: width, height: height }, include: true, nudge: { x: 0, y: 0 } })));
|
|
266
282
|
};
|
|
283
|
+
/** Reads "walk=1-4;throw=5,6,7;9-12" as animations: every frame (numbered from 1) in exactly one. */
|
|
284
|
+
const parseAnimations = (text, count) => {
|
|
285
|
+
const fail = (message) => Effect.fail(new CliFailure({ message }));
|
|
286
|
+
const parts = text.split(";").map((part) => part.trim()).filter((part) => part !== "");
|
|
287
|
+
const seen = new Set();
|
|
288
|
+
const animations = [];
|
|
289
|
+
for (const [a, part] of parts.entries()) {
|
|
290
|
+
const named = /^([^=]+)=(.+)$/.exec(part);
|
|
291
|
+
const name = named === null ? `animation-${a + 1}` : named[1].trim();
|
|
292
|
+
if (!isAnimationName(name))
|
|
293
|
+
return fail(`"${name}" cannot name an animation: use letters, digits, "-", "_", and "."`);
|
|
294
|
+
if (animations.some((animation) => animation.name === name))
|
|
295
|
+
return fail(`two animations are named "${name}"`);
|
|
296
|
+
const frames = [];
|
|
297
|
+
for (const range of (named === null ? part : named[2]).split(",")) {
|
|
298
|
+
const bounds = /^\s*(\d+)\s*(?:-\s*(\d+)\s*)?$/.exec(range);
|
|
299
|
+
if (bounds === null)
|
|
300
|
+
return fail(`"${range.trim()}" is not a frame number or a range like "1-4"`);
|
|
301
|
+
const from = Number(bounds[1]);
|
|
302
|
+
const to = bounds[2] === undefined ? from : Number(bounds[2]);
|
|
303
|
+
for (let n = from; from <= to ? n <= to : n >= to; n += from <= to ? 1 : -1) {
|
|
304
|
+
if (n < 1 || n > count)
|
|
305
|
+
return fail(`frame ${n} is not on the sheet: its frames are 1 to ${count}`);
|
|
306
|
+
if (seen.has(n))
|
|
307
|
+
return fail(`frame ${n} is in more than one animation`);
|
|
308
|
+
seen.add(n);
|
|
309
|
+
frames.push(n - 1);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
animations.push(animationOf(name, frames));
|
|
313
|
+
}
|
|
314
|
+
const missing = Array.from({ length: count }, (_, i) => i + 1).filter((n) => !seen.has(n));
|
|
315
|
+
if (missing.length > 0)
|
|
316
|
+
return fail(`frames ${missing.join(", ")} are in no animation: every frame must be in one`);
|
|
317
|
+
return Effect.succeed(animations);
|
|
318
|
+
};
|
|
267
319
|
const sheetCommand = Command.make("sheet", {
|
|
268
320
|
input: Argument.String("input").pipe(Argument.withDescription("An animation sheet (PNG or JPEG): frames in rows of boxes, as image generators make them.")),
|
|
269
321
|
config,
|
|
@@ -272,18 +324,21 @@ const sheetCommand = Command.make("sheet", {
|
|
|
272
324
|
colors: Flag.Int("colors").pipe(Flag.withDescription("Without a palette, how many colors to propose from all the frames together."), Flag.withDefault(16)),
|
|
273
325
|
cell: Flag.String("cell").pipe(Flag.withDescription('The cell size in source pixels, "11.5", instead of finding it (each frame finds its own offset).'), Flag.optional),
|
|
274
326
|
boxes: Flag.String("boxes").pipe(Flag.withDescription('The frames\' boxes, "x,y,w,h;x,y,w,h" in source pixels, instead of finding them.'), Flag.optional),
|
|
275
|
-
skip: Flag.String("skip").pipe(Flag.withDescription('Frames to leave out of
|
|
327
|
+
skip: Flag.String("skip").pipe(Flag.withDescription('Frames to leave out of their animation, by number from 1: "1,6".'), Flag.optional),
|
|
328
|
+
animations: Flag.String("animations").pipe(Flag.withDescription('How the frames make animations, by frame number from 1: "walk=1-4;throw=5-8;explode=9-18" (a name is optional: "1-4;5-8"). Every frame must be in one. Default: one per row of frames, as the report lists them.'), Flag.optional),
|
|
329
|
+
only: Flag.String("only").pipe(Flag.withDescription('The animations to write, by name: "walk,explode" (the others stay in the recipe, left out).'), Flag.optional),
|
|
276
330
|
keepBackground: Flag.Boolean("keep-background").pipe(Flag.withDefault(false), Flag.withDescription("Keep the sheet's background (by default it is cleared, with any painted grid and labels).")),
|
|
277
331
|
anchor: Flag.Literals("anchor", ["ground", "feet", "center", "box"]).pipe(Flag.withDescription("What lines frames up: the ground (default: each frame at its height as drawn, hops kept, sideways drift removed), the feet (pinned to one row), the body's center, or nothing (frames as in their boxes)."), Flag.optional),
|
|
278
|
-
fps: Flag.Finite("fps").pipe(Flag.withDescription("Frames per second (default 8)."), Flag.optional),
|
|
279
|
-
pingpong: Flag.Boolean("pingpong").pipe(Flag.withDefault(false), Flag.withDescription("
|
|
280
|
-
columns: Flag.Int("columns").pipe(Flag.withDescription("Frames per row on the sheet written (default: one row)."), Flag.optional),
|
|
281
|
-
spacing: Flag.Int("spacing").pipe(Flag.withDescription("Empty pixels between frames on the sheet written."), Flag.withDefault(0)),
|
|
332
|
+
fps: Flag.Finite("fps").pipe(Flag.withDescription("Frames per second, for every animation (default 8)."), Flag.optional),
|
|
333
|
+
pingpong: Flag.Boolean("pingpong").pipe(Flag.withDefault(false), Flag.withDescription("Every animation plays there and back instead of looping from the start.")),
|
|
334
|
+
columns: Flag.Int("columns").pipe(Flag.withDescription("Frames per row on the sheet written; each animation starts a new row (default: one row per animation)."), Flag.optional),
|
|
335
|
+
spacing: Flag.Int("spacing").pipe(Flag.withDescription("Empty pixels between frames, and between animations, on the sheet written."), Flag.withDefault(0)),
|
|
282
336
|
out,
|
|
283
337
|
scale
|
|
284
338
|
}, Effect.fn("sheet")(function* (flags) {
|
|
285
339
|
const project = yield* loadConfig(flags.config);
|
|
286
|
-
|
|
340
|
+
const resolved = yield* recipeOf(project, flags.recipe, flags, flags.input);
|
|
341
|
+
let recipe = resolved.recipe;
|
|
287
342
|
if (Option.isSome(flags.cell))
|
|
288
343
|
recipe = { ...recipe, grid: yield* parseCell(flags.cell.value, Option.none()) };
|
|
289
344
|
if (!flags.keepBackground)
|
|
@@ -293,20 +348,36 @@ const sheetCommand = Command.make("sheet", {
|
|
|
293
348
|
const image = yield* readPicture(flags.input);
|
|
294
349
|
const cache = {};
|
|
295
350
|
const start = recipe.sheet ?? defaultSheet;
|
|
296
|
-
let
|
|
351
|
+
let sheet = Option.isSome(flags.boxes)
|
|
352
|
+
? withFrames(start, yield* parseBoxes(flags.boxes.value))
|
|
353
|
+
: start.frames.length > 0
|
|
354
|
+
? start
|
|
355
|
+
: withFrames(start, detectFrames(image, recipe, cache));
|
|
356
|
+
if (sheet.frames.length === 0)
|
|
357
|
+
return yield* new CliFailure({ message: "no frames found in the sheet: give them with --boxes" });
|
|
297
358
|
if (Option.isSome(flags.skip)) {
|
|
298
359
|
const skipped = new Set(flags.skip.value.split(",").map((part) => Number(part.trim()) - 1));
|
|
299
|
-
|
|
360
|
+
sheet = { ...sheet, frames: sheet.frames.map((frame, i) => ({ ...frame, include: !skipped.has(i) })) };
|
|
300
361
|
}
|
|
301
|
-
|
|
302
|
-
...
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
362
|
+
if (Option.isSome(flags.animations))
|
|
363
|
+
sheet = { ...sheet, animations: yield* parseAnimations(flags.animations.value, sheet.frames.length) };
|
|
364
|
+
if (Option.isSome(flags.only)) {
|
|
365
|
+
const wanted = flags.only.value.split(",").map((part) => part.trim()).filter((part) => part !== "");
|
|
366
|
+
const unknown = wanted.filter((name) => !sheet.animations.some((animation) => animation.name === name));
|
|
367
|
+
if (unknown.length > 0) {
|
|
368
|
+
return yield* new CliFailure({ message: `no animation named ${unknown.join(", ")}: the sheet has ${sheet.animations.map((animation) => animation.name).join(", ")}` });
|
|
369
|
+
}
|
|
370
|
+
sheet = { ...sheet, animations: sheet.animations.map((animation) => ({ ...animation, include: wanted.includes(animation.name) })) };
|
|
371
|
+
}
|
|
372
|
+
sheet = {
|
|
373
|
+
...sheet,
|
|
374
|
+
anchor: Option.getOrElse(flags.anchor, () => sheet.anchor),
|
|
375
|
+
animations: sheet.animations.map((animation) => ({
|
|
376
|
+
...animation,
|
|
377
|
+
fps: Option.getOrElse(flags.fps, () => animation.fps),
|
|
378
|
+
loop: flags.pingpong ? "pingpong" : animation.loop
|
|
379
|
+
}))
|
|
307
380
|
};
|
|
308
|
-
if (sheet.frames.length === 0)
|
|
309
|
-
return yield* new CliFailure({ message: "no frames found in the sheet: give them with --boxes" });
|
|
310
381
|
recipe = { ...recipe, sheet };
|
|
311
382
|
if (recipe.palette === undefined && flags.colors > 0) {
|
|
312
383
|
const proposed = proposeForSheet(image, recipe, sheet, flags.colors, "dominant", cache).map((proposal) => proposal.color);
|
|
@@ -317,29 +388,34 @@ const sheetCommand = Command.make("sheet", {
|
|
|
317
388
|
const base = yield* outputBase(flags.input, Option.getOrUndefined(flags.out), "sheet");
|
|
318
389
|
const path = yield* Path.Path;
|
|
319
390
|
const name = path.basename(base);
|
|
320
|
-
const
|
|
321
|
-
const layout = { columns: Option.getOrElse(flags.columns, () =>
|
|
322
|
-
const
|
|
323
|
-
const
|
|
324
|
-
const info = (image, scale) => spritesheetJson({ name, image, frameWidth: outcome.width, frameHeight: outcome.height, count: arts.length, layout, scale, fps: sheet.fps, loop: sheet.loop, anchor });
|
|
391
|
+
const clips = atlasClips(outcome, sheet);
|
|
392
|
+
const layout = { columns: Option.getOrElse(flags.columns, () => Number.MAX_SAFE_INTEGER), spacing: flags.spacing };
|
|
393
|
+
const atlas = atlasOf(clips, layout);
|
|
394
|
+
const info = (image, scale) => spritesheetJson({ image, clips, atlas, scale });
|
|
325
395
|
const files = {};
|
|
326
|
-
if (
|
|
327
|
-
files.png = yield* writePng(`${base}.png`, toRgba(art));
|
|
396
|
+
if (clips.length > 0) {
|
|
397
|
+
files.png = yield* writePng(`${base}.png`, toRgba(atlas.art));
|
|
328
398
|
files.json = yield* writeText(`${base}.json`, info(`${name}.png`, 1));
|
|
329
399
|
if (flags.scale > 1) {
|
|
330
|
-
files.scaled = yield* writePng(`${base}@${flags.scale}x.png`, toRgba(art, flags.scale));
|
|
400
|
+
files.scaled = yield* writePng(`${base}@${flags.scale}x.png`, toRgba(atlas.art, flags.scale));
|
|
331
401
|
files.scaledJson = yield* writeText(`${base}@${flags.scale}x.json`, info(`${name}@${flags.scale}x.png`, flags.scale));
|
|
332
402
|
}
|
|
333
|
-
|
|
334
|
-
|
|
403
|
+
// One GIF and one folder of frames per animation.
|
|
404
|
+
const gifs = [];
|
|
335
405
|
const written = [];
|
|
336
|
-
for (const
|
|
337
|
-
|
|
406
|
+
for (const clip of clips) {
|
|
407
|
+
const order = playOrder(clip.frames.length, clip.loop).map((i) => clip.frames[i]);
|
|
408
|
+
gifs.push(yield* writeBytes(`${base}.${clip.name}.gif`, toGif(order, { scale: Math.max(flags.scale, fitScale(clip.frames[0], 256)), delay: 1000 / clip.fps })));
|
|
409
|
+
for (const [i, frame] of clip.frames.entries())
|
|
410
|
+
written.push(yield* writePng(path.join(`${base}.frames`, clip.name, `${i}.png`), toRgba(frame, flags.scale)));
|
|
411
|
+
}
|
|
412
|
+
files.gifs = gifs;
|
|
338
413
|
files.frames = written;
|
|
339
414
|
}
|
|
340
415
|
files.recipe = yield* writeText(`${base}.recipe.json`, encodeRecipe(recipe));
|
|
341
|
-
|
|
342
|
-
yield*
|
|
416
|
+
const groupOf = new Map(sheet.animations.flatMap((animation, a) => animation.frames.map((i) => [i, a])));
|
|
417
|
+
files.preview = yield* writePng(`${base}.preview.png`, previewSheet(image, sheet.frames.map((frame, i) => ({ ...frame.box, include: frame.include && sheet.animations[groupOf.get(i) ?? 0]?.include === true, group: groupOf.get(i) ?? 0 })), clips.map((clip) => ({ frames: clip.frames, anchorY: sheet.anchor === "feet" || sheet.anchor === "ground" ? clip.anchor.y : undefined }))));
|
|
418
|
+
yield* printJson({ file: flags.input, ...storedNote(resolved.stored), ...report, files });
|
|
343
419
|
yield* exitWith(report.verdict === "needs-person" ? 4 : report.issues.some((issue) => issue.severity === "error") ? 3 : 0);
|
|
344
420
|
})).pipe(Command.withDescription("Fixes an animation sheet: finds its frames, clears its background and labels, fixes every frame on one grid and one palette, lines them up, and writes a sprite sheet with its JSON, a GIF, each frame, its recipe, and a preview."));
|
|
345
421
|
const palettes = Command.make("palettes", { name: Argument.String("name").pipe(Argument.withDescription("A preset to show, or a palette file."), Argument.optional) }, Effect.fn("palettes")(function* (flags) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/pixel/cli/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/pixel/cli/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/pixel/cli/io.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Reading what the CLI is given (pictures, sprite sources, recipes) and
|
|
3
3
|
* writing what it makes, through Effect's FileSystem.
|
|
4
4
|
*/
|
|
5
|
-
import { Effect, FileSystem, Path } from "effect";
|
|
5
|
+
import { Effect, FileSystem, Option, Path } from "effect";
|
|
6
6
|
import type { PixelArt } from "../core/fix.ts";
|
|
7
7
|
import type { RgbaImage } from "../core/grid.ts";
|
|
8
8
|
import { CliFailure } from "./config.ts";
|
|
@@ -16,6 +16,10 @@ export type Source = {
|
|
|
16
16
|
};
|
|
17
17
|
/** Reads a PNG or a JPEG. */
|
|
18
18
|
export declare const readPicture: (file: string) => Effect.Effect<RgbaImage, CliFailure, FileSystem.FileSystem>;
|
|
19
|
+
/** The recipe stored in a project PNG; none for a plain picture or a file that is not a PNG. */
|
|
20
|
+
export declare const readProjectRecipeOf: (file: string) => Effect.Effect<Option.Option<string>, CliFailure, FileSystem.FileSystem>;
|
|
21
|
+
/** Writes a project PNG: the source file's own bytes (or, for a JPEG, its pixels as PNG) with this recipe stored inside. */
|
|
22
|
+
export declare const writeProject: (source: string, image: RgbaImage, file: string, recipe: string) => Effect.Effect<string, CliFailure, FileSystem.FileSystem | Path.Path>;
|
|
19
23
|
/** Reads a picture (PNG or JPEG), a sprite source (any other text file), or a JSON map (`.json`). */
|
|
20
24
|
export declare const readSource: (file: string) => Effect.Effect<{
|
|
21
25
|
kind: "image";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/pixel/cli/io.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAW,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../../src/pixel/cli/io.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAW,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,sFAAsF;AACtF,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;CAAE,CAAA;AAI7H,6BAA6B;AAC7B,eAAO,MAAM,WAAW,+EAOtB,CAAA;AAEF,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,2FAK9B,CAAA;AAEF,4HAA4H;AAC5H,eAAO,MAAM,YAAY,0IAIvB,CAAA;AAEF,qGAAqG;AACrG,eAAO,MAAM,UAAU;;;;;;;;qCAOrB,CAAA;AAEF,eAAO,MAAM,QAAQ,4EAGnB,CAAA;AAQF,eAAO,MAAM,SAAS,sGAKpB,CAAA;AAEF,eAAO,MAAM,UAAU,4HAKrB,CAAA;AAEF,eAAO,MAAM,QAAQ,0GAKnB,CAAA;AAEF,0DAA0D;AAC1D,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAEgF,CAAA;AAE7I,8EAA8E;AAC9E,eAAO,MAAM,UAAU,qGAKrB,CAAA"}
|
package/dist/pixel/cli/io.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Reading what the CLI is given (pictures, sprite sources, recipes) and
|
|
3
3
|
* writing what it makes, through Effect's FileSystem.
|
|
4
4
|
*/
|
|
5
|
-
import { Console, Effect, FileSystem, Path } from "effect";
|
|
5
|
+
import { Console, Effect, FileSystem, Option, Path } from "effect";
|
|
6
|
+
import { isPng, readProjectRecipe, withProjectRecipe } from "../core/project.js";
|
|
6
7
|
import { parseJsonMap, parseSprite } from "../core/sprite.js";
|
|
7
8
|
import { CliFailure } from "./config.js";
|
|
8
9
|
import { decodePicture, encodePng } from "./png.js";
|
|
@@ -16,6 +17,20 @@ export const readPicture = Effect.fn("readPicture")(function* (file) {
|
|
|
16
17
|
catch: (error) => new CliFailure({ message: `${file} is not a PNG or a JPEG: ${error instanceof Error ? error.message : String(error)}` })
|
|
17
18
|
});
|
|
18
19
|
});
|
|
20
|
+
/** The recipe stored in a project PNG; none for a plain picture or a file that is not a PNG. */
|
|
21
|
+
export const readProjectRecipeOf = Effect.fn("readProjectRecipeOf")(function* (file) {
|
|
22
|
+
if (!/\.png$/i.test(file))
|
|
23
|
+
return Option.none();
|
|
24
|
+
const fs = yield* FileSystem.FileSystem;
|
|
25
|
+
const bytes = yield* fs.readFile(file).pipe(Effect.mapError(() => new CliFailure({ message: `cannot read ${file}` })));
|
|
26
|
+
return Option.fromUndefinedOr(readProjectRecipe(bytes));
|
|
27
|
+
});
|
|
28
|
+
/** Writes a project PNG: the source file's own bytes (or, for a JPEG, its pixels as PNG) with this recipe stored inside. */
|
|
29
|
+
export const writeProject = Effect.fn("writeProject")(function* (source, image, file, recipe) {
|
|
30
|
+
const fs = yield* FileSystem.FileSystem;
|
|
31
|
+
const bytes = yield* fs.readFile(source).pipe(Effect.mapError(() => new CliFailure({ message: `cannot read ${source}` })));
|
|
32
|
+
return yield* writeBytes(file, withProjectRecipe(isPng(bytes) ? bytes : encodePng(image), recipe));
|
|
33
|
+
});
|
|
19
34
|
/** Reads a picture (PNG or JPEG), a sprite source (any other text file), or a JSON map (`.json`). */
|
|
20
35
|
export const readSource = Effect.fn("readSource")(function* (file) {
|
|
21
36
|
if (isPicture(file))
|
package/dist/pixel/cli/io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../../src/pixel/cli/io.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../../src/pixel/cli/io.ts"],"names":[],"mappings":"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"}
|