picopilot 0.1.5 → 0.2.1
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/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +205 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/audio.d.ts +3 -3
- package/dist/commands/audio.d.ts.map +1 -1
- package/dist/commands/audio.js +69 -44
- package/dist/commands/audio.js.map +1 -1
- package/dist/commands/doctor.d.ts +22 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +226 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/export.d.ts +3 -4
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +4 -9
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/gfx.d.ts +2 -2
- package/dist/commands/gfx.d.ts.map +1 -1
- package/dist/commands/gfx.js +14 -7
- package/dist/commands/gfx.js.map +1 -1
- package/dist/commands/lint.d.ts +2 -2
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +3 -2
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/minify.d.ts +2 -2
- package/dist/commands/minify.d.ts.map +1 -1
- package/dist/commands/minify.js +3 -2
- package/dist/commands/minify.js.map +1 -1
- package/dist/commands/pico8-env.d.ts +112 -0
- package/dist/commands/pico8-env.d.ts.map +1 -0
- package/dist/commands/pico8-env.js +118 -0
- package/dist/commands/pico8-env.js.map +1 -0
- package/dist/commands/playtest.d.ts +2 -2
- package/dist/commands/playtest.d.ts.map +1 -1
- package/dist/commands/playtest.js +4 -9
- package/dist/commands/playtest.js.map +1 -1
- package/dist/commands/run.d.ts +3 -4
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +52 -19
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.d.ts +2 -2
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +4 -9
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/shrinko-env.d.ts +22 -0
- package/dist/commands/shrinko-env.d.ts.map +1 -0
- package/dist/commands/shrinko-env.js +15 -0
- package/dist/commands/shrinko-env.js.map +1 -0
- package/dist/commands/tokens.d.ts +4 -4
- package/dist/commands/tokens.d.ts.map +1 -1
- package/dist/commands/tokens.js +3 -2
- package/dist/commands/tokens.js.map +1 -1
- package/dist/commands/verify.d.ts +2 -2
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +3 -2
- package/dist/commands/verify.js.map +1 -1
- package/dist/engine/child-env.d.ts +14 -0
- package/dist/engine/child-env.d.ts.map +1 -0
- package/dist/engine/child-env.js +21 -0
- package/dist/engine/child-env.js.map +1 -0
- package/dist/engine/pico8/adapter.d.ts +23 -3
- package/dist/engine/pico8/adapter.d.ts.map +1 -1
- package/dist/engine/pico8/adapter.js.map +1 -1
- package/dist/engine/pico8/cleanup.d.ts +16 -0
- package/dist/engine/pico8/cleanup.d.ts.map +1 -0
- package/dist/engine/pico8/cleanup.js +74 -0
- package/dist/engine/pico8/cleanup.js.map +1 -0
- package/dist/engine/pico8/display.d.ts +149 -0
- package/dist/engine/pico8/display.d.ts.map +1 -0
- package/dist/engine/pico8/display.js +311 -0
- package/dist/engine/pico8/display.js.map +1 -0
- package/dist/engine/pico8/drive.d.ts.map +1 -1
- package/dist/engine/pico8/drive.js +28 -2
- package/dist/engine/pico8/drive.js.map +1 -1
- package/dist/engine/pico8/harness.d.ts +8 -0
- package/dist/engine/pico8/harness.d.ts.map +1 -1
- package/dist/engine/pico8/harness.js +9 -1
- package/dist/engine/pico8/harness.js.map +1 -1
- package/dist/engine/pico8/index.d.ts +3 -0
- package/dist/engine/pico8/index.d.ts.map +1 -1
- package/dist/engine/pico8/index.js +3 -0
- package/dist/engine/pico8/index.js.map +1 -1
- package/dist/engine/pico8/shell.d.ts +56 -3
- package/dist/engine/pico8/shell.d.ts.map +1 -1
- package/dist/engine/pico8/shell.js +188 -24
- package/dist/engine/pico8/shell.js.map +1 -1
- package/dist/engine/shrinko/shell.d.ts +3 -3
- package/dist/engine/shrinko/shell.js +3 -3
- package/package.json +2 -2
- package/src/cli.test.ts +229 -0
- package/src/cli.ts +230 -18
- package/src/commands/audio.test.ts +64 -1
- package/src/commands/audio.ts +86 -57
- package/src/commands/doctor.test.ts +149 -0
- package/src/commands/doctor.ts +284 -0
- package/src/commands/export.ts +9 -13
- package/src/commands/gfx.ts +19 -15
- package/src/commands/lint.ts +7 -6
- package/src/commands/minify.ts +7 -6
- package/src/commands/pico8-env.ts +192 -0
- package/src/commands/playtest.ts +8 -11
- package/src/commands/run.test.ts +110 -2
- package/src/commands/run.ts +68 -24
- package/src/commands/serve.ts +8 -11
- package/src/commands/shrinko-env.test.ts +68 -0
- package/src/commands/shrinko-env.ts +40 -0
- package/src/commands/tokens.ts +9 -6
- package/src/commands/verify.ts +7 -4
- package/src/engine/child-env.ts +22 -0
- package/src/engine/pico8/adapter.ts +25 -3
- package/src/engine/pico8/cleanup.test.ts +28 -0
- package/src/engine/pico8/cleanup.ts +76 -0
- package/src/engine/pico8/display.test.ts +210 -0
- package/src/engine/pico8/display.ts +429 -0
- package/src/engine/pico8/drive.test.ts +20 -0
- package/src/engine/pico8/drive.ts +25 -2
- package/src/engine/pico8/fake-xvfb.test-support.ts +55 -0
- package/src/engine/pico8/harness.test.ts +26 -0
- package/src/engine/pico8/harness.ts +18 -2
- package/src/engine/pico8/index.ts +3 -0
- package/src/engine/pico8/shell.test.ts +448 -9
- package/src/engine/pico8/shell.ts +255 -26
- package/src/engine/pico8/virtual-display.process.test.ts +206 -0
- package/src/engine/shrinko/shell.ts +3 -3
- package/src/mcp.process.test.ts +219 -0
- package/src/skills/picopilot-audio/SKILL.md +4 -8
- package/src/skills/picopilot-overview/SKILL.md +9 -1
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { z } from 'incur';
|
|
5
|
+
import { DISPLAY_MODES, detectVirtualDisplayBackend, findExecutable, hasNativeDisplay, needsVirtualDisplay, pico8Candidates, pico8ChildEnv, } from '../engine/pico8/index.js';
|
|
6
|
+
import { createShellAdapterFactory, DISPLAY_OPTION, PICO8_ENV, resolveCommandDisplay, } from './pico8-env.js';
|
|
7
|
+
import { createShellShrinkoFactory, } from './shrinko-env.js';
|
|
8
|
+
/** The marker the version-probe cart prints in front of `stat(5)`. */
|
|
9
|
+
const VERSION_MARKER = '__PICOPILOT_PICO8_VERSION__';
|
|
10
|
+
/** The probe cart: print PICO-8's version id, then the done-sentinel. */
|
|
11
|
+
const PROBE_SENTINEL = '__PICOPILOT_DOCTOR_DONE__';
|
|
12
|
+
const PROBE_CART = `pico-8 cartridge // http://www.pico-8.com
|
|
13
|
+
version 42
|
|
14
|
+
__lua__
|
|
15
|
+
printh("${VERSION_MARKER}"..stat(5))
|
|
16
|
+
printh("${PROBE_SENTINEL}")
|
|
17
|
+
`;
|
|
18
|
+
/** A tiny cart for the shrinko probe (a real `--count` run). */
|
|
19
|
+
const SHRINKO_PROBE_CART = `pico-8 cartridge // http://www.pico-8.com
|
|
20
|
+
version 42
|
|
21
|
+
__lua__
|
|
22
|
+
print("hi")
|
|
23
|
+
`;
|
|
24
|
+
/** The doctor's backstop for the headless PICO-8 probe. */
|
|
25
|
+
const PROBE_BACKSTOP_MS = 15_000;
|
|
26
|
+
/**
|
|
27
|
+
* The capability table: every command (or command mode) and what it needs.
|
|
28
|
+
* `display` means a PICO-8 `-run` session: a native display or a virtual one.
|
|
29
|
+
* The `-x` paths (run screenshots, playtest, export, serve) are headless and
|
|
30
|
+
* need PICO-8 only.
|
|
31
|
+
*/
|
|
32
|
+
const COMMAND_NEEDS = [
|
|
33
|
+
{ command: 'init', needs: [] },
|
|
34
|
+
{ command: 'gfx show / set / render', needs: [] },
|
|
35
|
+
{ command: 'sfx', needs: [] },
|
|
36
|
+
{ command: 'music', needs: [] },
|
|
37
|
+
{ command: 'gfx import / export', needs: ['shrinko8'] },
|
|
38
|
+
{ command: 'tokens', needs: ['shrinko8'] },
|
|
39
|
+
{ command: 'lint', needs: ['shrinko8'] },
|
|
40
|
+
{ command: 'minify', needs: ['shrinko8'] },
|
|
41
|
+
{ command: 'verify', needs: ['shrinko8'] },
|
|
42
|
+
{ command: 'run', needs: ['pico8'] },
|
|
43
|
+
{ command: 'playtest', needs: ['pico8'] },
|
|
44
|
+
{ command: 'export', needs: ['pico8'] },
|
|
45
|
+
{ command: 'serve', needs: ['pico8'] },
|
|
46
|
+
{ command: 'run --record-audio', needs: ['pico8', 'display'] },
|
|
47
|
+
{ command: 'audio record', needs: ['pico8', 'display'] },
|
|
48
|
+
{ command: 'audio render', needs: ['pico8', 'display'] },
|
|
49
|
+
];
|
|
50
|
+
/** The PICO-8 version from its install path (e.g. `.../pico-8-0.2.7/...`), if it names one. */
|
|
51
|
+
function versionFromPath(path) {
|
|
52
|
+
const m = /pico-?8[-_ ]v?(\d+\.\d+\.\d+[a-z]?)/i.exec(path);
|
|
53
|
+
return m?.[1];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Registers `picopilot doctor`: what can THIS machine do? It reports whether
|
|
57
|
+
* PICO-8 is found (and runs headless, with its version), whether shrinko8 is
|
|
58
|
+
* found, how a PICO-8 `-run` session would get a display (native, a private
|
|
59
|
+
* virtual one via Xvfb, or none), and therefore which commands are available.
|
|
60
|
+
* An agent calls it first instead of discovering limits by failing. It never
|
|
61
|
+
* fails itself: a missing dependency is data in the report.
|
|
62
|
+
*/
|
|
63
|
+
export function registerDoctor(cli, deps = {}) {
|
|
64
|
+
const pico8Factory = deps.pico8 ?? createShellAdapterFactory({ parentEnv: deps.parentEnv });
|
|
65
|
+
const shrinkoFactory = deps.shrinko ?? createShellShrinkoFactory({ parentEnv: deps.parentEnv });
|
|
66
|
+
const find = deps.find ?? findExecutable;
|
|
67
|
+
cli.command('doctor', {
|
|
68
|
+
description: 'Report what this machine can do: PICO-8 (found, runs headless, version), shrinko8, the display a PICO-8 -run session would use (native / virtual Xvfb / none), and which picopilot commands are therefore available. Call this first on a new machine.',
|
|
69
|
+
env: PICO8_ENV,
|
|
70
|
+
options: z.object({ display: DISPLAY_OPTION }),
|
|
71
|
+
output: z.object({
|
|
72
|
+
pico8: z.object({
|
|
73
|
+
found: z.boolean().describe('Whether the PICO-8 binary was found.'),
|
|
74
|
+
path: z.string().optional().describe('The resolved binary path.'),
|
|
75
|
+
runs: z
|
|
76
|
+
.boolean()
|
|
77
|
+
.describe('Whether a headless -x probe run actually worked.'),
|
|
78
|
+
version: z
|
|
79
|
+
.string()
|
|
80
|
+
.optional()
|
|
81
|
+
.describe('The PICO-8 version, when its install path names it.'),
|
|
82
|
+
versionId: z
|
|
83
|
+
.number()
|
|
84
|
+
.optional()
|
|
85
|
+
.describe("PICO-8's internal version number (stat(5))."),
|
|
86
|
+
}),
|
|
87
|
+
shrinko8: z.object({
|
|
88
|
+
found: z
|
|
89
|
+
.boolean()
|
|
90
|
+
.describe('Whether shrinko8 ran (token count on a probe cart).'),
|
|
91
|
+
}),
|
|
92
|
+
display: z.object({
|
|
93
|
+
mode: z
|
|
94
|
+
.enum(DISPLAY_MODES)
|
|
95
|
+
.describe('The resolved display mode (--display / env / config).'),
|
|
96
|
+
native: z
|
|
97
|
+
.boolean()
|
|
98
|
+
.describe('Whether DISPLAY or WAYLAND_DISPLAY is set.'),
|
|
99
|
+
virtual: z
|
|
100
|
+
.enum(['Xvfb', 'xvfb-run'])
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('The virtual-display backend available, if any.'),
|
|
103
|
+
runSessions: z
|
|
104
|
+
.enum(['native', 'xvfb', 'none'])
|
|
105
|
+
.describe('How a PICO-8 -run session (audio record/render, run --record-audio) gets a display here.'),
|
|
106
|
+
}),
|
|
107
|
+
available: z
|
|
108
|
+
.array(z.string())
|
|
109
|
+
.describe('Commands that work on this machine.'),
|
|
110
|
+
unavailable: z
|
|
111
|
+
.array(z.object({
|
|
112
|
+
command: z.string(),
|
|
113
|
+
missing: z.array(z.string()),
|
|
114
|
+
}))
|
|
115
|
+
.describe('Commands that do not, and what they are missing.'),
|
|
116
|
+
}),
|
|
117
|
+
async run({ env, ok, error, options, var: vars }) {
|
|
118
|
+
const resolved = resolveCommandDisplay(options.display, vars);
|
|
119
|
+
if (!resolved.ok)
|
|
120
|
+
return error(resolved.error);
|
|
121
|
+
const display = resolved.mode;
|
|
122
|
+
const childEnv = pico8ChildEnv(env, deps.parentEnv ?? process.env);
|
|
123
|
+
// --- PICO-8: locate, then a real headless probe for the version.
|
|
124
|
+
const [pico8File] = pico8Candidates(childEnv);
|
|
125
|
+
const pico8Path = find(pico8File, childEnv);
|
|
126
|
+
let runs = false;
|
|
127
|
+
let versionId;
|
|
128
|
+
let version;
|
|
129
|
+
const probeDir = mkdtempSync(join(tmpdir(), 'picopilot-doctor-'));
|
|
130
|
+
try {
|
|
131
|
+
const cartPath = join(probeDir, 'probe.p8');
|
|
132
|
+
writeFileSync(cartPath, PROBE_CART);
|
|
133
|
+
const result = await pico8Factory(env, {
|
|
134
|
+
display,
|
|
135
|
+
}).run({
|
|
136
|
+
cartPath,
|
|
137
|
+
shotDir: probeDir,
|
|
138
|
+
sentinel: PROBE_SENTINEL,
|
|
139
|
+
backstopMs: PROBE_BACKSTOP_MS,
|
|
140
|
+
});
|
|
141
|
+
if (result.ok) {
|
|
142
|
+
const m = new RegExp(`${VERSION_MARKER}(\\d+)`).exec(result.value.printh);
|
|
143
|
+
if (m !== null) {
|
|
144
|
+
runs = true;
|
|
145
|
+
versionId = Number(m[1]);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
finally {
|
|
150
|
+
rmSync(probeDir, { recursive: true, force: true });
|
|
151
|
+
}
|
|
152
|
+
if (pico8Path !== undefined) {
|
|
153
|
+
let real = pico8Path;
|
|
154
|
+
try {
|
|
155
|
+
real = realpathSync(pico8Path);
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
// keep the unresolved path
|
|
159
|
+
}
|
|
160
|
+
version = versionFromPath(real) ?? versionFromPath(pico8Path);
|
|
161
|
+
}
|
|
162
|
+
const pico8Found = pico8Path !== undefined || runs;
|
|
163
|
+
// --- shrinko8: a real --count on a tiny cart.
|
|
164
|
+
let shrinkoFound = false;
|
|
165
|
+
const shrinkoDir = mkdtempSync(join(tmpdir(), 'picopilot-doctor-'));
|
|
166
|
+
try {
|
|
167
|
+
const cartPath = join(shrinkoDir, 'probe.p8');
|
|
168
|
+
writeFileSync(cartPath, SHRINKO_PROBE_CART);
|
|
169
|
+
try {
|
|
170
|
+
const count = await shrinkoFactory(env).count(cartPath);
|
|
171
|
+
shrinkoFound = count.ok;
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
// ran but did not parse: present, yet not usable for us
|
|
175
|
+
shrinkoFound = false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
rmSync(shrinkoDir, { recursive: true, force: true });
|
|
180
|
+
}
|
|
181
|
+
// --- display: how a -run session would get one here.
|
|
182
|
+
const native = hasNativeDisplay(childEnv);
|
|
183
|
+
const virtual = detectVirtualDisplayBackend(childEnv, find);
|
|
184
|
+
const runSessions = needsVirtualDisplay(display, childEnv)
|
|
185
|
+
? virtual !== undefined
|
|
186
|
+
? 'xvfb'
|
|
187
|
+
: 'none'
|
|
188
|
+
: native
|
|
189
|
+
? 'native'
|
|
190
|
+
: 'none';
|
|
191
|
+
const have = {
|
|
192
|
+
pico8: runs,
|
|
193
|
+
shrinko8: shrinkoFound,
|
|
194
|
+
display: runSessions !== 'none',
|
|
195
|
+
};
|
|
196
|
+
const available = [];
|
|
197
|
+
const unavailable = [];
|
|
198
|
+
for (const { command, needs } of COMMAND_NEEDS) {
|
|
199
|
+
const missing = needs.filter((n) => !have[n]);
|
|
200
|
+
if (missing.length === 0)
|
|
201
|
+
available.push(command);
|
|
202
|
+
else
|
|
203
|
+
unavailable.push({ command, missing });
|
|
204
|
+
}
|
|
205
|
+
return ok({
|
|
206
|
+
pico8: {
|
|
207
|
+
found: pico8Found,
|
|
208
|
+
...(pico8Path !== undefined ? { path: pico8Path } : {}),
|
|
209
|
+
runs,
|
|
210
|
+
...(version !== undefined ? { version } : {}),
|
|
211
|
+
...(versionId !== undefined ? { versionId } : {}),
|
|
212
|
+
},
|
|
213
|
+
shrinko8: { found: shrinkoFound },
|
|
214
|
+
display: {
|
|
215
|
+
mode: display,
|
|
216
|
+
native,
|
|
217
|
+
...(virtual !== undefined ? { virtual } : {}),
|
|
218
|
+
runSessions,
|
|
219
|
+
},
|
|
220
|
+
available,
|
|
221
|
+
unavailable,
|
|
222
|
+
});
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { type Cli } from 'incur';
|
|
2
|
-
import { type
|
|
2
|
+
import { type Pico8AdapterFactory } from './pico8-env.js';
|
|
3
3
|
/**
|
|
4
4
|
* Injects the PICO-8 adapter `export` uses (defaults to the shell adapter over
|
|
5
5
|
* native `pico8 <cart> -export <name>.html -x`). Mirrors the `run` seam: a test
|
|
6
|
-
* passes a stub to drive the present/absent paths without the paid binary,
|
|
7
|
-
* to isolate the child `env` (its `PICO8_PATH`/`PATH`).
|
|
6
|
+
* passes a stub to drive the present/absent paths without the paid binary, (the child env is the parent env + PICO8_PATH/PATH).
|
|
8
7
|
*/
|
|
9
|
-
export type Pico8AdapterFactory
|
|
8
|
+
export type { Pico8AdapterFactory } from './pico8-env.js';
|
|
10
9
|
/**
|
|
11
10
|
* Registers `picopilot export`, the THIN structured wrapper over PICO-8's HTML
|
|
12
11
|
* export (`pico8 <cart> -export <name>.html -x`, the headless `-x` path, no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAMlC,OAAO,EAGN,KAAK,mBAAmB,EACxB,MAAM,gBAAgB,CAAC;AAGxB;;;;GAIG;AACH,YAAY,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAOxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,mBAA2C,GACzD,IAAI,CAyON"}
|
package/dist/commands/export.js
CHANGED
|
@@ -2,9 +2,10 @@ import { existsSync, mkdirSync, mkdtempSync, readdirSync, rmSync } from 'node:fs
|
|
|
2
2
|
import { tmpdir } from 'node:os';
|
|
3
3
|
import { isAbsolute, join, resolve } from 'node:path';
|
|
4
4
|
import { z } from 'incur';
|
|
5
|
-
import { EXPORT_HTML_NAME,
|
|
5
|
+
import { EXPORT_HTML_NAME, } from '../engine/pico8/index.js';
|
|
6
|
+
import { createShellAdapterFactory, PICO8_ENV, } from './pico8-env.js';
|
|
6
7
|
import { prepareLabeledCart } from './label-cart.js';
|
|
7
|
-
const defaultAdapterFactory = (
|
|
8
|
+
const defaultAdapterFactory = createShellAdapterFactory();
|
|
8
9
|
/** The default backstop: kill an export that never completes/exits after this many ms. */
|
|
9
10
|
const DEFAULT_BACKSTOP_MS = 30_000;
|
|
10
11
|
/**
|
|
@@ -69,13 +70,7 @@ export function registerExport(cli, adapterFactory = defaultAdapterFactory) {
|
|
|
69
70
|
}),
|
|
70
71
|
// incur resolves these from the (test-overridable) env source and hands
|
|
71
72
|
// them to the child, so PICO8_PATH/PATH locate the binary in isolation.
|
|
72
|
-
env:
|
|
73
|
-
PICO8_PATH: z
|
|
74
|
-
.string()
|
|
75
|
-
.optional()
|
|
76
|
-
.describe('Explicit path to the PICO-8 binary (else `pico8` on PATH).'),
|
|
77
|
-
PATH: z.string().optional().describe('Used to locate `pico8`.'),
|
|
78
|
-
}),
|
|
73
|
+
env: PICO8_ENV,
|
|
79
74
|
output: z.object({
|
|
80
75
|
outDir: z
|
|
81
76
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AACpD,OAAO,EAAW,CAAC,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,EACN,gBAAgB,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/gfx.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Cli } from 'incur';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ShrinkoAdapterFactory } from './shrinko-env.js';
|
|
3
3
|
/** Injects the shrinko adapter `gfx import`/`gfx export` use (the spritesheet round-trip). */
|
|
4
|
-
export type ShrinkoAdapterFactory
|
|
4
|
+
export type { ShrinkoAdapterFactory } from './shrinko-env.js';
|
|
5
5
|
/**
|
|
6
6
|
* The exit code for the `map-overlap` refusal. Chosen as 1 (a plain failure),
|
|
7
7
|
* matching every other picopilot structured refusal (`cart-not-found`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gfx.d.ts","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"gfx.d.ts","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;AAqB7B,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AAG1B,8FAA8F;AAC9F,YAAY,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAK5D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AA2kBlC;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CAEN"}
|
package/dist/commands/gfx.js
CHANGED
|
@@ -3,8 +3,10 @@ import { basename, dirname, extname, isAbsolute, join, resolve } from 'node:path
|
|
|
3
3
|
import { Cli, z } from 'incur';
|
|
4
4
|
import { Cart, CartParseError, GFX_WIDTH, GfxSheet, SPRITE_SIZE, spriteAliasesMap, } from '../engine/cart/index.js';
|
|
5
5
|
import { decideOverlap, GfxGridError, gridToNibbles, nibblesToGrid, renderSheetPng, renderSpritePng, SHEET_RENDER_SCALE, SPRITE_RENDER_SCALE, } from '../engine/gfx/index.js';
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import {} from '../engine/shrinko/index.js';
|
|
7
|
+
import { createShellShrinkoFactory, } from './shrinko-env.js';
|
|
8
|
+
import { mcpConfigOption } from './pico8-env.js';
|
|
9
|
+
const defaultShrinkoFactory = createShellShrinkoFactory();
|
|
8
10
|
/**
|
|
9
11
|
* The exit code for the `map-overlap` refusal. Chosen as 1 (a plain failure),
|
|
10
12
|
* matching every other picopilot structured refusal (`cart-not-found`,
|
|
@@ -145,10 +147,12 @@ function buildGfxGroup(shrinkoFactory) {
|
|
|
145
147
|
.describe('The .p8 cart to write. Defaults to main.p8 in the current folder.'),
|
|
146
148
|
}),
|
|
147
149
|
options: z.object({
|
|
150
|
+
// No zod default: an absent value must stay distinguishable, so that under
|
|
151
|
+
// `--mcp` (where incur loads no config) picopilot.json still applies.
|
|
148
152
|
allowMapOverlap: z
|
|
149
153
|
.boolean()
|
|
150
|
-
.
|
|
151
|
-
.describe('Authorise overwriting existing shared-region data when writing sprites 128-255 (ADR-0004). Also settable as allowMapOverlap in picopilot.json.'),
|
|
154
|
+
.optional()
|
|
155
|
+
.describe('Authorise overwriting existing shared-region data when writing sprites 128-255 (ADR-0004). Also settable as allowMapOverlap in picopilot.json. Default false.'),
|
|
152
156
|
}),
|
|
153
157
|
output: z.object({
|
|
154
158
|
sprite: z.number().describe('The sprite index that was written.'),
|
|
@@ -175,7 +179,7 @@ function buildGfxGroup(shrinkoFactory) {
|
|
|
175
179
|
},
|
|
176
180
|
},
|
|
177
181
|
],
|
|
178
|
-
run({ args, options, error, ok }) {
|
|
182
|
+
run({ args, options, error, ok, var: vars }) {
|
|
179
183
|
const cartPath = resolveCart(args.cart);
|
|
180
184
|
// Decode the incoming grid FIRST: a malformed grid is a caller error and
|
|
181
185
|
// must never touch the cart. (No bytes change on a bad grid.)
|
|
@@ -202,8 +206,11 @@ function buildGfxGroup(shrinkoFactory) {
|
|
|
202
206
|
// (the shared-bank bytes at risk), NOT __map__ (ADR-0004). The flag and
|
|
203
207
|
// the picopilot.json config both feed `options.allowMapOverlap` (incur
|
|
204
208
|
// resolves argv > config > default), so both authorisation paths converge
|
|
205
|
-
// here.
|
|
206
|
-
|
|
209
|
+
// here. Under `--mcp` incur loads no config, so the picopilot.json value
|
|
210
|
+
// comes from the `mcpConfig` var instead.
|
|
211
|
+
const allowMapOverlap = options.allowMapOverlap ??
|
|
212
|
+
mcpConfigOption(vars, ['gfx', 'set'], 'allowMapOverlap') === true;
|
|
213
|
+
const decision = decideOverlap(sheet, args.sprite, allowMapOverlap);
|
|
207
214
|
if (decision.kind === 'refused') {
|
|
208
215
|
// The silent-corruption guard: REFUSE and DO NOT write. The cart file is
|
|
209
216
|
// never opened for writing on this path, so the sprite's __gfx__ bytes
|
package/dist/commands/gfx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gfx.js","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gfx.js","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/lint.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Cli } from 'incur';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ShrinkoAdapterFactory } from './shrinko-env.js';
|
|
3
3
|
/** See {@link import('./tokens.js').ShrinkoAdapterFactory}: lint reuses the same seam. */
|
|
4
|
-
export type ShrinkoAdapterFactory
|
|
4
|
+
export type { ShrinkoAdapterFactory } from './shrinko-env.js';
|
|
5
5
|
/**
|
|
6
6
|
* Registers `picopilot lint` (US #4): surface PICO-8-specific issues (undefined
|
|
7
7
|
* globals, unused/duplicate locals, and, via the parsed findings, the classic
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAElC,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,0FAA0F;AAC1F,YAAY,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAK5D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CAqFN"}
|
package/dist/commands/lint.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { isAbsolute, resolve } from 'node:path';
|
|
3
3
|
import { z } from 'incur';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {} from '../engine/shrinko/index.js';
|
|
5
|
+
import { createShellShrinkoFactory, } from './shrinko-env.js';
|
|
6
|
+
const defaultAdapterFactory = createShellShrinkoFactory();
|
|
6
7
|
/**
|
|
7
8
|
* Registers `picopilot lint` (US #4): surface PICO-8-specific issues (undefined
|
|
8
9
|
* globals, unused/duplicate locals, and, via the parsed findings, the classic
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAW,CAAC,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Cli } from 'incur';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ShrinkoAdapterFactory } from './shrinko-env.js';
|
|
3
3
|
/** See {@link import('./tokens.js').ShrinkoAdapterFactory}: minify reuses the same seam. */
|
|
4
|
-
export type ShrinkoAdapterFactory
|
|
4
|
+
export type { ShrinkoAdapterFactory } from './shrinko-env.js';
|
|
5
5
|
/**
|
|
6
6
|
* Registers `picopilot minify` (US #5, ADR-0007): run shrinko8's SAFE
|
|
7
7
|
* minification and write the result to a SEPARATE artifact (`<name>.min.p8` by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAElC,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,4FAA4F;AAC5F,YAAY,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAoB5D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CA6GN"}
|
package/dist/commands/minify.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
3
3
|
import { z } from 'incur';
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import {} from '../engine/shrinko/index.js';
|
|
5
|
+
import { createShellShrinkoFactory, } from './shrinko-env.js';
|
|
6
|
+
const defaultAdapterFactory = createShellShrinkoFactory();
|
|
6
7
|
/**
|
|
7
8
|
* Derives the default output path `<name>.min.p8` next to the source cart:
|
|
8
9
|
* `main.p8` -> `main.min.p8`, `game.p8.png` -> `game.min.p8.png` is NOT the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAW,CAAC,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"minify.js","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"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"}
|