picopilot 0.1.1 → 0.1.2
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.
|
@@ -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,CAuLjC;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"}
|
|
@@ -103,10 +103,12 @@ One change = one pass through this loop. Do NOT skip the last step:
|
|
|
103
103
|
2. \`picopilot tokens\` to watch the 8192-token budget.
|
|
104
104
|
3. \`picopilot verify\` (the static gate: tokens + integrity). GREEN means
|
|
105
105
|
well-formed, it does NOT mean the cart runs or plays.
|
|
106
|
-
4. **SEE it
|
|
107
|
-
|
|
108
|
-
\`picopilot playtest run\`
|
|
109
|
-
|
|
106
|
+
4. **SEE it PLAY, not just render.** A single screenshot proves a frame draws; it
|
|
107
|
+
does NOT prove the game behaves. So DRIVE it and watch it change over time:
|
|
108
|
+
\`picopilot playtest run\` feeds input and captures live gameplay with no cart
|
|
109
|
+
edit, or add the temporary \`run\` probe below to grab specific frames. Capture
|
|
110
|
+
a sequence and compare frames so you can see MOTION and STATE CHANGE, not one
|
|
111
|
+
still. Probe recipe:
|
|
110
112
|
|
|
111
113
|
\`\`\`lua
|
|
112
114
|
-- TEMPORARY: screenshot a couple of frames, then signal done so run exits.
|
|
@@ -115,11 +117,15 @@ One change = one pass through this loop. Do NOT skip the last step:
|
|
|
115
117
|
if t==45 then printh("__PICOPILOT_DONE__") end
|
|
116
118
|
\`\`\`
|
|
117
119
|
|
|
118
|
-
**Definition of done: you have
|
|
119
|
-
|
|
120
|
-
that
|
|
121
|
-
|
|
122
|
-
game
|
|
120
|
+
**Definition of done: you have driven YOUR game's core loop and confirmed its
|
|
121
|
+
state actually behaves, not just that it renders.** Screenshots hide logic bugs
|
|
122
|
+
(state that should change on an event but does not, or does not reset when it
|
|
123
|
+
should). So do NOT check a fixed checklist: enumerate the state transitions YOUR
|
|
124
|
+
specific game defines (whatever its own actions, events, and restart do), then
|
|
125
|
+
drive each one and confirm the before/after state is what you intended, before
|
|
126
|
+
AND after a full round or restart. If reading state off the screen is hard, add
|
|
127
|
+
a temporary \`printh\` to dump the values and confirm them directly. A green
|
|
128
|
+
\`verify\`, a bare \`timeout\`, or a nice-looking title is NOT done.
|
|
123
129
|
|
|
124
130
|
## Handing the finished cart to the user
|
|
125
131
|
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqLP,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"}
|
package/package.json
CHANGED
|
@@ -126,6 +126,17 @@ describe('picopilot init: AGENTS.md carries the curated PICO-8 reference', () =>
|
|
|
126
126
|
expect(agents).toContain('__PICOPILOT_DONE__');
|
|
127
127
|
// A bare timeout is explicitly NOT proof it works.
|
|
128
128
|
expect(agents.toLowerCase()).toContain('timeout');
|
|
129
|
+
// Done means BEHAVIOUR verified, not just a rendered frame: drive the core
|
|
130
|
+
// loop and confirm state transitions (the bugs a screenshot hides).
|
|
131
|
+
const lower = agents.toLowerCase();
|
|
132
|
+
expect(lower).toContain('state');
|
|
133
|
+
expect(lower).toMatch(/behave|behaviour|behavior/);
|
|
134
|
+
// GENERIC, not a fixed mechanic checklist: it must tell the agent to
|
|
135
|
+
// enumerate ITS OWN game's transitions, so it neither assumes mechanics the
|
|
136
|
+
// game lacks nor checks only a canned list and misses the rest.
|
|
137
|
+
expect(lower).toContain('enumerate');
|
|
138
|
+
expect(lower).toMatch(/your (specific )?game/);
|
|
139
|
+
expect(lower).toContain('do not check a fixed checklist');
|
|
129
140
|
});
|
|
130
141
|
|
|
131
142
|
it('hands the finished cart off via `pico8 -run`, NOT `serve`', () => {
|
|
@@ -112,10 +112,12 @@ One change = one pass through this loop. Do NOT skip the last step:
|
|
|
112
112
|
2. \`picopilot tokens\` to watch the 8192-token budget.
|
|
113
113
|
3. \`picopilot verify\` (the static gate: tokens + integrity). GREEN means
|
|
114
114
|
well-formed, it does NOT mean the cart runs or plays.
|
|
115
|
-
4. **SEE it
|
|
116
|
-
|
|
117
|
-
\`picopilot playtest run\`
|
|
118
|
-
|
|
115
|
+
4. **SEE it PLAY, not just render.** A single screenshot proves a frame draws; it
|
|
116
|
+
does NOT prove the game behaves. So DRIVE it and watch it change over time:
|
|
117
|
+
\`picopilot playtest run\` feeds input and captures live gameplay with no cart
|
|
118
|
+
edit, or add the temporary \`run\` probe below to grab specific frames. Capture
|
|
119
|
+
a sequence and compare frames so you can see MOTION and STATE CHANGE, not one
|
|
120
|
+
still. Probe recipe:
|
|
119
121
|
|
|
120
122
|
\`\`\`lua
|
|
121
123
|
-- TEMPORARY: screenshot a couple of frames, then signal done so run exits.
|
|
@@ -124,11 +126,15 @@ One change = one pass through this loop. Do NOT skip the last step:
|
|
|
124
126
|
if t==45 then printh("__PICOPILOT_DONE__") end
|
|
125
127
|
\`\`\`
|
|
126
128
|
|
|
127
|
-
**Definition of done: you have
|
|
128
|
-
|
|
129
|
-
that
|
|
130
|
-
|
|
131
|
-
game
|
|
129
|
+
**Definition of done: you have driven YOUR game's core loop and confirmed its
|
|
130
|
+
state actually behaves, not just that it renders.** Screenshots hide logic bugs
|
|
131
|
+
(state that should change on an event but does not, or does not reset when it
|
|
132
|
+
should). So do NOT check a fixed checklist: enumerate the state transitions YOUR
|
|
133
|
+
specific game defines (whatever its own actions, events, and restart do), then
|
|
134
|
+
drive each one and confirm the before/after state is what you intended, before
|
|
135
|
+
AND after a full round or restart. If reading state off the screen is hard, add
|
|
136
|
+
a temporary \`printh\` to dump the values and confirm them directly. A green
|
|
137
|
+
\`verify\`, a bare \`timeout\`, or a nice-looking title is NOT done.
|
|
132
138
|
|
|
133
139
|
## Handing the finished cart to the user
|
|
134
140
|
|