picopilot 0.1.3 → 0.1.5
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/commands/cart-includes.d.ts +11 -0
- package/dist/commands/cart-includes.d.ts.map +1 -0
- package/dist/commands/cart-includes.js +26 -0
- package/dist/commands/cart-includes.js.map +1 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +62 -77
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/label-cart.d.ts +72 -0
- package/dist/commands/label-cart.d.ts.map +1 -0
- package/dist/commands/label-cart.js +228 -0
- package/dist/commands/label-cart.js.map +1 -0
- package/dist/commands/playtest.d.ts.map +1 -1
- package/dist/commands/playtest.js +2 -23
- package/dist/commands/playtest.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +61 -10
- package/dist/commands/serve.js.map +1 -1
- package/dist/engine/gfx/label.d.ts +15 -9
- package/dist/engine/gfx/label.d.ts.map +1 -1
- package/dist/engine/gfx/label.js +130 -38
- package/dist/engine/gfx/label.js.map +1 -1
- package/dist/engine/pico8/session-daemon-entry.d.ts +1 -1
- package/dist/engine/pico8/session-daemon-entry.js +1 -1
- package/dist/engine/pico8/session-daemon-main.d.ts +1 -1
- package/dist/engine/pico8/session-daemon-main.js +1 -1
- package/dist/engine/pico8/session-daemon.d.ts +1 -1
- package/dist/engine/pico8/session-daemon.d.ts.map +1 -1
- package/dist/engine/pico8/session-daemon.js +19 -19
- package/dist/engine/pico8/session-daemon.js.map +1 -1
- package/dist/engine/pico8/session.d.ts +1 -1
- package/dist/engine/pico8/session.js +1 -1
- package/dist/engine/pico8/supervisor.d.ts +1 -1
- package/dist/engine/pico8/supervisor.js +1 -1
- package/dist/engine/scaffold/scaffold.d.ts.map +1 -1
- package/dist/engine/scaffold/scaffold.js +15 -0
- package/dist/engine/scaffold/scaffold.js.map +1 -1
- package/dist/engine/shrinko/adapter.d.ts +1 -1
- package/package.json +2 -1
- package/src/commands/audio.test.ts +12 -0
- package/src/commands/cart-includes.ts +27 -0
- package/src/commands/export.test.ts +327 -3
- package/src/commands/export.ts +72 -86
- package/src/commands/init.test.ts +10 -0
- package/src/commands/label-cart.ts +304 -0
- package/src/commands/lint.test.ts +6 -0
- package/src/commands/minify.test.ts +6 -0
- package/src/commands/playtest.test.ts +3 -0
- package/src/commands/playtest.ts +2 -23
- package/src/commands/run.test.ts +6 -0
- package/src/commands/serve.test.ts +138 -2
- package/src/commands/serve.ts +72 -10
- package/src/commands/tokens.test.ts +19 -0
- package/src/commands/verify.test.ts +12 -0
- package/src/engine/gfx/fixtures/pico8-screenshot-384.png +0 -0
- package/src/engine/gfx/label.test.ts +467 -1
- package/src/engine/gfx/label.ts +147 -41
- package/src/engine/pico8/session-daemon-entry.ts +1 -1
- package/src/engine/pico8/session-daemon-main.ts +1 -1
- package/src/engine/pico8/session-daemon.test.ts +32 -1
- package/src/engine/pico8/session-daemon.ts +25 -17
- package/src/engine/pico8/session.test.ts +1 -1
- package/src/engine/pico8/session.ts +1 -1
- package/src/engine/pico8/shell.test.ts +1 -1
- package/src/engine/pico8/supervisor.ts +1 -1
- package/src/engine/scaffold/scaffold.ts +15 -0
- package/src/engine/shrinko/adapter.ts +1 -1
- package/src/engine/skills/skills.test.ts +16 -0
- package/src/skills/game-design-reference/SKILL.md +2 -0
- package/src/skills/picopilot-debug/SKILL.md +18 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/engine/gfx/label.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/engine/gfx/label.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The detached daemon process ENTRY (ADR-0011,
|
|
2
|
+
* The detached daemon process ENTRY (ADR-0011, spec US #6). `playtest start`
|
|
3
3
|
* spawns this file (via `process.execPath [+ execArgv] <this> <configJson>`, so
|
|
4
4
|
* it re-uses the exact loader the parent ran under, dev `tsx` or built `dist`) as
|
|
5
5
|
* a DETACHED background process that owns the live driven PICO-8 for the session's
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The detached daemon process ENTRY (ADR-0011,
|
|
2
|
+
* The detached daemon process ENTRY (ADR-0011, spec US #6). `playtest start`
|
|
3
3
|
* spawns this file (via `process.execPath [+ execArgv] <this> <configJson>`, so
|
|
4
4
|
* it re-uses the exact loader the parent ran under, dev `tsx` or built `dist`) as
|
|
5
5
|
* a DETACHED background process that owns the live driven PICO-8 for the session's
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The playtest session DAEMON ENTRYPOINT (ADR-0011,
|
|
2
|
+
* The playtest session DAEMON ENTRYPOINT (ADR-0011, spec US #6): the small
|
|
3
3
|
* detached process `playtest start` spawns to OWN a live driven PICO-8 for a
|
|
4
4
|
* session's lifetime. It is invoked via the hidden `playtest __daemon` verb (so it
|
|
5
5
|
* re-uses the exact same executable/loader the parent ran under, dev `tsx` or
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The playtest session DAEMON ENTRYPOINT (ADR-0011,
|
|
2
|
+
* The playtest session DAEMON ENTRYPOINT (ADR-0011, spec US #6): the small
|
|
3
3
|
* detached process `playtest start` spawns to OWN a live driven PICO-8 for a
|
|
4
4
|
* session's lifetime. It is invoked via the hidden `playtest __daemon` verb (so it
|
|
5
5
|
* re-uses the exact same executable/loader the parent ran under, dev `tsx` or
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The playtest session DAEMON runtime + CLIENT (ADR-0011,
|
|
2
|
+
* The playtest session DAEMON runtime + CLIENT (ADR-0011, spec US #6). This is the
|
|
3
3
|
* IO half of the supervisor: the daemon LISTENS on a session's Unix domain socket
|
|
4
4
|
* and drives a live {@link DriveSession} on behalf of each verb sub-invocation;
|
|
5
5
|
* the {@link SessionClient} CONNECTS to that socket to send a verb and read back
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-daemon.d.ts","sourceRoot":"","sources":["../../../src/engine/pico8/session-daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,EAIN,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAE/C;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CA6BvD;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAE1D;AAWD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,OAAO,0BAA0B,EAAE,YAAY,GACrD,IAAI,CAON;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAC3D,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB,
|
|
1
|
+
{"version":3,"file":"session-daemon.d.ts","sourceRoot":"","sources":["../../../src/engine/pico8/session-daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,EAIN,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EAEpB,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAE/C;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;CA6BvD;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAE1D;AAWD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,OAAO,0BAA0B,EAAE,YAAY,GACrD,IAAI,CAON;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,kEAAkE;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAC3D,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB,CA6IA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The playtest session DAEMON runtime + CLIENT (ADR-0011,
|
|
2
|
+
* The playtest session DAEMON runtime + CLIENT (ADR-0011, spec US #6). This is the
|
|
3
3
|
* IO half of the supervisor: the daemon LISTENS on a session's Unix domain socket
|
|
4
4
|
* and drives a live {@link DriveSession} on behalf of each verb sub-invocation;
|
|
5
5
|
* the {@link SessionClient} CONNECTS to that socket to send a verb and read back
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { spawn } from 'node:child_process';
|
|
15
15
|
import { createConnection, createServer } from 'node:net';
|
|
16
|
-
import { existsSync,
|
|
16
|
+
import { existsSync, rmSync, writeFileSync } from 'node:fs';
|
|
17
17
|
import { dirname, join } from 'node:path';
|
|
18
18
|
import { fileURLToPath } from 'node:url';
|
|
19
19
|
import { DriveSession, SessionError, } from './session.js';
|
|
@@ -166,7 +166,7 @@ export function serveSession(options) {
|
|
|
166
166
|
}
|
|
167
167
|
case 'shot': {
|
|
168
168
|
const r = await session.shot();
|
|
169
|
-
const screenshot = collectShot(options.paths.shotDir, r.shotName);
|
|
169
|
+
const screenshot = await collectShot(options.paths.shotDir, r.shotName);
|
|
170
170
|
return ok(options.id, {
|
|
171
171
|
frame: r.frame,
|
|
172
172
|
ack: r.ack,
|
|
@@ -240,25 +240,25 @@ export function serveSession(options) {
|
|
|
240
240
|
function ok(id, partial) {
|
|
241
241
|
return { ok: true, value: { id, ...partial } };
|
|
242
242
|
}
|
|
243
|
+
/** How long `shot` waits for PICO-8 to write the PNG after acking the SHOT. */
|
|
244
|
+
const SHOT_FILE_TIMEOUT_MS = 3000;
|
|
245
|
+
const SHOT_FILE_POLL_MS = 20;
|
|
243
246
|
/**
|
|
244
|
-
* Resolves the
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
* to the most
|
|
247
|
+
* Resolves the screenshot the cart just took: `<shotDir>/<shotName>.png`. The
|
|
248
|
+
* cart's SHOT ACK is printed BEFORE `extcmd("screen")` lands on disk (verified
|
|
249
|
+
* on PICO-8 0.2.7), so poll briefly for that exact file. It deliberately never
|
|
250
|
+
* falls back to "the most recent PNG": that returned the PREVIOUS shot (or
|
|
251
|
+
* nothing) whenever the new file was still being written. `undefined` only if
|
|
252
|
+
* the file never appears within {@link SHOT_FILE_TIMEOUT_MS}.
|
|
248
253
|
*/
|
|
249
|
-
function collectShot(shotDir, shotName) {
|
|
254
|
+
async function collectShot(shotDir, shotName) {
|
|
250
255
|
const exact = join(shotDir, `${shotName}.png`);
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
.sort();
|
|
257
|
-
const last = pngs.at(-1);
|
|
258
|
-
return last !== undefined ? join(shotDir, last) : undefined;
|
|
259
|
-
}
|
|
260
|
-
catch {
|
|
261
|
-
return undefined;
|
|
256
|
+
const deadline = Date.now() + SHOT_FILE_TIMEOUT_MS;
|
|
257
|
+
while (!existsSync(exact)) {
|
|
258
|
+
if (Date.now() >= deadline)
|
|
259
|
+
return undefined;
|
|
260
|
+
await new Promise((r) => setTimeout(r, SHOT_FILE_POLL_MS));
|
|
262
261
|
}
|
|
262
|
+
return exact;
|
|
263
263
|
}
|
|
264
264
|
//# sourceMappingURL=session-daemon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-daemon.js","sourceRoot":"","sources":["../../../src/engine/pico8/session-daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AACrE,OAAO,EAAC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"session-daemon.js","sourceRoot":"","sources":["../../../src/engine/pico8/session-daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AACrE,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EACN,YAAY,EACZ,YAAY,GAGZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EACN,uBAAuB,EACvB,WAAW,EACX,YAAY,GAKZ,MAAM,iBAAiB,CAAC;AAEzB;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACI;IAA7B,YAA6B,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAEnD;;;;OAIG;IACH,IAAI,CAAC,OAAuB;QAC3B,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,IAAI,YAAY,EAAmB,CAAC;YACpD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACjC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,CAAC;oBACb,IAAI,CAAC,GAAG,EAAE,CAAC;gBACZ,CAAC;YACF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;YACF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBACpE,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAED,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,KAAmB;IAChD,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe;IACvB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,OAAO,IAAI,CAAC,IAAI,EAAE,uBAAuB,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAAuD;IAEvD,MAAM,KAAK,GAAG,KAAK,CAClB,OAAO,CAAC,QAAQ,EAChB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAChE,EAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CACjC,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;AACf,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B;IAGxD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAC;IAEhE,IAAI,SAAoD,CAAC;IACzD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC3B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC;YACJ,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACR,2DAA2D;QAC5D,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACR,SAAS;QACV,CAAC;QACD,6EAA6E;QAC7E,4EAA4E;QAC5E,+EAA+E;QAC/E,IAAI,CAAC;YACJ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACR,SAAS;QACV,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QAC1B,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACrD,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,GAAmB,EAA4B,EAAE;QACtE,OAAO,EAAE,CAAC;QACV,IAAI,CAAC;YACJ,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACd,MAAM,CAAC,GAAe,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpD,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACb,sEAAsE;oBACtE,uEAAuE;oBACvE,4CAA4C;oBAC5C,IAAI,IAAI,GAAe,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAC,CAAC;oBACvD,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACpD,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBACxC,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACjC,SAAS,IAAI,KAAK,CAAC;oBACpB,CAAC;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;wBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,KAAK,EAAE,IAAI;qBACX,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACb,MAAM,CAAC,GAAe,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC3C,MAAM,UAAU,GAAG,MAAM,WAAW,CACnC,OAAO,CAAC,KAAK,CAAC,OAAO,EACrB,CAAC,CAAC,QAAQ,CACV,CAAC;oBACF,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;wBACrB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,UAAU;wBACV,KAAK,EAAE,IAAI;qBACX,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACf,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;wBACrB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM;qBACtB,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACb,uEAAuE;oBACvE,oEAAoE;oBACpE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;gBAC/B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAC,CAAC;YACtD,CAAC;YACD,OAAO;gBACN,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACnD,CAAC;QACH,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,IAAY,EAAE,EAAE;QAC5C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,YAAY,EAAkB,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACjC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;gBACnC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7B,IAAI,CAAC;wBACJ,oEAAoE;wBACpE,gEAAgE;wBAChE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;4BACjC,IAAI,MAAM,EAAE,CAAC;gCACZ,IAAI,CAAC,GAAG,EAAE,CAAC;gCACX,QAAQ,EAAE,CAAC;4BACZ,CAAC;wBACF,CAAC,CAAC,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC;wBACR,IAAI,MAAM;4BAAE,QAAQ,EAAE,CAAC;oBACxB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,iDAAiD;QAClD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,6EAA6E;IAC7E,kDAAkD;IAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE;QACxC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;AAC1B,CAAC;AAED,0EAA0E;AAC1E,SAAS,EAAE,CACV,EAAU,EACV,OAAyC;IAEzC,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAC,EAAE,EAAE,GAAG,OAAO,EAAC,EAAC,CAAC;AAC5C,CAAC;AAED,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;;;;GAOG;AACH,KAAK,UAAU,WAAW,CACzB,OAAe,EACf,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC;IACnD,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC7C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The RESUMABLE playtest SESSION handshake core (ADR-0011,
|
|
2
|
+
* The RESUMABLE playtest SESSION handshake core (ADR-0011, spec US #6): the pure,
|
|
3
3
|
* CI-testable half of the "A" live model. It keeps a single driven PICO-8 process
|
|
4
4
|
* ALIVE and PAUSED between the agent's turns and drives it one command at a time
|
|
5
5
|
* over the verified transport: write a FIXED-SIZE command block, WAIT for the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The RESUMABLE playtest SESSION handshake core (ADR-0011,
|
|
2
|
+
* The RESUMABLE playtest SESSION handshake core (ADR-0011, spec US #6): the pure,
|
|
3
3
|
* CI-testable half of the "A" live model. It keeps a single driven PICO-8 process
|
|
4
4
|
* ALIVE and PAUSED between the agent's turns and drives it one command at a time
|
|
5
5
|
* over the verified transport: write a FIXED-SIZE command block, WAIT for the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The playtest SESSION SUPERVISOR (ADR-0011,
|
|
2
|
+
* The playtest SESSION SUPERVISOR (ADR-0011, spec US #6): the daemon that keeps a
|
|
3
3
|
* driven PICO-8 process ALIVE + PAUSED across the agent's separate CLI turns, and
|
|
4
4
|
* the client the per-verb sub-invocations use to address it BY ID.
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The playtest SESSION SUPERVISOR (ADR-0011,
|
|
2
|
+
* The playtest SESSION SUPERVISOR (ADR-0011, spec US #6): the daemon that keeps a
|
|
3
3
|
* driven PICO-8 process ALIVE + PAUSED across the agent's separate CLI turns, and
|
|
4
4
|
* the client the per-verb sub-invocations use to address it BY ID.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/engine/scaffold/scaffold.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAM/B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAehC;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/engine/scaffold/scaffold.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAM/B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAehC;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAkOjC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,YAAY,EAAE,CAO9C"}
|
|
@@ -141,6 +141,21 @@ Two checks that catch the bugs models ship most:
|
|
|
141
141
|
losing, meaning it is too easy)? does it escalate? is it fair (no unavoidable
|
|
142
142
|
loss)? If you drove a full round and nothing threatened you, tune it before
|
|
143
143
|
calling it done. (The \`game-design-reference\` skill carries these self-checks.)
|
|
144
|
+
- **JUDGE the frame, do not just confirm it drew.** When you look at a gameplay
|
|
145
|
+
screenshot, actively hunt for what is WRONG, do not narrate that it rendered.
|
|
146
|
+
"It renders" is NOT "it is good". Ask concretely:
|
|
147
|
+
- **Readability / contrast:** can you tell EVERY entity apart, from the
|
|
148
|
+
background AND from each other, at a glance? If a hazard or pickup blends
|
|
149
|
+
into the scenery (same or near colour), that is a bug, recolour it. Every
|
|
150
|
+
thing the player must react to has to be instantly distinguishable.
|
|
151
|
+
- **Layout fairness:** are hazards spaced and placed so a HUMAN can actually
|
|
152
|
+
clear them (react in ~250ms, not frame-perfect)? Gaps too tight to pass, or
|
|
153
|
+
an obstacle you cannot see coming, are fairness defects, not difficulty.
|
|
154
|
+
- **Honest quality:** does it look intentional, or just non-broken? If a
|
|
155
|
+
player saw this, would the visuals read as deliberate?
|
|
156
|
+
These are the \`game-design-reference\` readability + fairness lenses applied to
|
|
157
|
+
the IMAGE you are looking at, not only to the logic. Apply them to the actual
|
|
158
|
+
frame; fix what fails before calling it done.
|
|
144
159
|
|
|
145
160
|
A green \`verify\`, a bare \`timeout\`, or a nice-looking title is NOT done.
|
|
146
161
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/engine/scaffold/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;GASG;AAEH,0FAA0F;AAC1F,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,MAAM;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CACtB,sDAAsD,YAAY,aAAa,CAC/E,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,gBAAgB,IAAI,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO;IACtB,OAAO;;;;;;;;;;;;;CAaP,CAAC;AACF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,aAAa;IAC5B,OAAO,iBAAiB,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACvB,OAAO
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/engine/scaffold/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;GASG;AAEH,0FAA0F;AAC1F,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,MAAM;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CACtB,sDAAsD,YAAY,aAAa,CAC/E,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,gBAAgB,IAAI,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO;IACtB,OAAO;;;;;;;;;;;;;CAaP,CAAC;AACF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,aAAa;IAC5B,OAAO,iBAAiB,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgOP,CAAC;AACF,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC5B,OAAO;QACN,EAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EAAC;QACpC,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAC;QACtC,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAC;QACxC,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,EAAC;KAClD,CAAC;AACH,CAAC"}
|
|
@@ -23,7 +23,7 @@ export declare const SHRINKO_REMEDY: "uv pip install shrinko";
|
|
|
23
23
|
export declare const SHRINKO_NEEDS: readonly ["python>=3.8"];
|
|
24
24
|
/**
|
|
25
25
|
* The structured "shrinko is not installed" failure (ADR-0002). Its shape is
|
|
26
|
-
* fixed by the
|
|
26
|
+
* fixed by the spec's two-tier contract (US #17): `ok:false`, a machine-readable
|
|
27
27
|
* `reason`, the EXACT `remedy` string, and the `needs` list. A command turns
|
|
28
28
|
* this into an incur `error({ code: reason, ... })` with a nonzero exit.
|
|
29
29
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "picopilot",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "An agent-first toolchain for PICO-8 game development, built on the incur CLI framework.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsc -p tsconfig.build.json",
|
|
45
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
45
46
|
"dev": "as-soon -w src pnpm build",
|
|
46
47
|
"test": "vitest run",
|
|
47
48
|
"test:watch": "vitest",
|
|
@@ -54,6 +54,12 @@ function stubAdapter(
|
|
|
54
54
|
seen?: {record?: RecordOptions},
|
|
55
55
|
): Pico8Adapter {
|
|
56
56
|
return {
|
|
57
|
+
async drive() {
|
|
58
|
+
throw new Error('drive not used');
|
|
59
|
+
},
|
|
60
|
+
async export() {
|
|
61
|
+
throw new Error('export not used');
|
|
62
|
+
},
|
|
57
63
|
async run(_options: RunOptions) {
|
|
58
64
|
return {
|
|
59
65
|
ok: true,
|
|
@@ -171,6 +177,12 @@ describe('audio render: orchestration against a fake runner', () => {
|
|
|
171
177
|
let recordCalled = false;
|
|
172
178
|
const {stdout, exitCode} = await runAudio(
|
|
173
179
|
() => ({
|
|
180
|
+
async drive() {
|
|
181
|
+
throw new Error('drive not used');
|
|
182
|
+
},
|
|
183
|
+
async export() {
|
|
184
|
+
throw new Error('export not used');
|
|
185
|
+
},
|
|
174
186
|
async run() {
|
|
175
187
|
return {
|
|
176
188
|
ok: true,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {readFileSync} from 'node:fs';
|
|
2
|
+
import {dirname, isAbsolute, join} from 'node:path';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A `#include` resolver for the drive-transform, bound to the SOURCE cart's dir:
|
|
6
|
+
* picopilot's standard scaffold is `main.p8` = `#include main.lua`, and the
|
|
7
|
+
* driven cart runs from a throwaway temp dir where `main.lua` is absent, so the
|
|
8
|
+
* transform inlines includes to be self-contained. Reads the included file
|
|
9
|
+
* relative to the cart (absolute paths honoured); returns `undefined` if it
|
|
10
|
+
* cannot be read (the directive is then left verbatim). Shared by `playtest` and
|
|
11
|
+
* the `--label-frame` capture.
|
|
12
|
+
*/
|
|
13
|
+
export function makeReadInclude(
|
|
14
|
+
cartPath: string,
|
|
15
|
+
): (p: string) => string | undefined {
|
|
16
|
+
const base = dirname(cartPath);
|
|
17
|
+
return (includePath) => {
|
|
18
|
+
const full = isAbsolute(includePath)
|
|
19
|
+
? includePath
|
|
20
|
+
: join(base, includePath);
|
|
21
|
+
try {
|
|
22
|
+
return readFileSync(full, 'utf8');
|
|
23
|
+
} catch {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|