dewctl 0.6.2 → 0.6.3

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.
@@ -93,10 +93,10 @@ in its dev version; there is no local preview.
93
93
  3. **Descriptions:** say what each thing is and what it's made of, in the style's words.
94
94
  4. **Style prompt:** set the prompt for the whole game, and the sky.
95
95
 
96
- After each step, upload. While the user runs `npm run dev`, every save uploads by itself and the page reloads;
97
- otherwise `npx dewctl dev` builds the game, uploads it and prints the link to play it on Dewdrop. Don't run both at
98
- once: they build into the same folder. Judge the look there, in motion, not from a still frame. The first second is
99
- plain and grey.
96
+ After each step, upload with `npm run dev`: it builds the game, uploads it and prints the link to play it on
97
+ Dewdrop. Upload when there is something to check, not after every edit. If the user runs `npx dewctl dev --watch`,
98
+ every save uploads by itself, so don't upload as well: both build into the same folder. Judge the look there, in
99
+ motion, not from a still frame. The first second is plain and grey.
100
100
 
101
101
  You can't see Dewdrop's frames. Ask the user specific questions ("Does the lantern glow?", "What does the sky look
102
102
  like?"), or ask for a screenshot. In the dev version, `dewdrop.evaluate` runs code in the game from the browser
@@ -108,8 +108,8 @@ at a time, so you know what each change did.
108
108
 
109
109
  - `dewdrop.json` connects the folder to the game: its name, the build command, the folder the build writes, and
110
110
  the thumbnail ([dewdrop.json](https://alpha.dewdrop.world/docs/dewdrop-json)).
111
- - `npm run dev` plays the dev version on Dewdrop and uploads it again on every save; `npx dewctl dev` uploads it
112
- once. `npx dewctl status` shows both versions. Run `npx dewctl publish` only when the user asks: it puts the game
111
+ - `npm run dev` uploads the game to its dev version on Dewdrop once; `npx dewctl dev --watch` uploads it again on
112
+ every save. `npx dewctl status` shows both versions. Run `npx dewctl publish` only when the user asks: it puts the game
113
113
  in front of players ([commands](https://alpha.dewdrop.world/docs/cli)).
114
114
  - `LOOK.md` is the agreed look. In a starter game, README.md says how the game works and why its look works.
115
115
  Read both first.
@@ -2,7 +2,7 @@
2
2
  "name": "my-game",
3
3
  "private": true,
4
4
  "type": "module",
5
- "scripts": { "dev": "dewctl dev --watch", "build": "vite build" },
5
+ "scripts": { "dev": "dewctl dev", "build": "vite build" },
6
6
  "dependencies": { "three": "0.185.1" },
7
7
  "devDependencies": { "vite": "^8" }
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dewctl",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "Build and publish three.js games on Dewdrop.",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/src/command.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // How the developer runs this CLI, for the commands its messages suggest: through npx when npx or an npm script
2
- // (`npm run dev`, which runs `dewctl dev --watch`) started it, else by name.
2
+ // (`npm run dev`, which runs `dewctl dev`) started it, else by name.
3
3
  export const RUN=['exec','run','run-script'].includes(process.env.npm_command)?'npx dewctl':'dewctl';
package/src/main.js CHANGED
@@ -97,8 +97,8 @@ async function main() {
97
97
  if(command==='init') {
98
98
  const config=await initProject(process.cwd(),flags.game,flags.template,process.stdin.isTTY&&process.stdout.isTTY?chooseTemplate:undefined);
99
99
  const run=RUN;
100
- if(config.starter)console.log(`Set up ${config.game} here. Next:\n npm install\n ${run} login\n npm run dev\nnpm run dev builds the game, uploads it to Dewdrop and prints a link to play it, then uploads again on every save; the game is created on Dewdrop the first time.${config.template==='blank'?'':'\nRead README.md: how the game works and why its look works.'}\nAGENTS.md tells coding agents how to work on the game, starting with agreeing its look with you.`);
101
- else console.log(`Created dewdrop.json for ${config.game}. Next: ${run} login, then ${run} dev --watch. To make npm run dev play it on Dewdrop, set package.json's dev script to dewctl dev --watch.`);
100
+ if(config.starter)console.log(`Set up ${config.game} here. Next:\n npm install\n ${run} login\n npm run dev\nnpm run dev builds the game, uploads it to Dewdrop and prints a link to play it; the game is created on Dewdrop the first time. Run it again to upload a change, or ${run} dev --watch to upload on every save.${config.template==='blank'?'':'\nRead README.md: how the game works and why its look works.'}\nAGENTS.md tells coding agents how to work on the game, starting with agreeing its look with you.`);
101
+ else console.log(`Created dewdrop.json for ${config.game}. Next: ${run} login, then ${run} dev. To make npm run dev upload it to Dewdrop, set package.json's dev script to dewctl dev.`);
102
102
  if(!config.starter&&config.buildScript)console.log(`Building for Dewdrop with npm run ${config.buildScript}, which must run vite build with the Dewdrop plugin in vite.config.js.`);
103
103
  if(!config.starter&&!config.buildScript)console.log('No build script is in package.json, so dewdrop.json builds with npm run build. Add one that runs vite build with the Dewdrop plugin in vite.config.js, or set "build" in dewdrop.json to your own command.');
104
104
  return;
package/src/project.js CHANGED
@@ -156,7 +156,7 @@ export async function build(project, signal) {
156
156
  });
157
157
  }
158
158
  // The one project shape: a Vite project with the SDK's plugin, which builds for Dewdrop with `npm run build`
159
- // and plays there with `npm run dev`, which runs `dewctl dev --watch`. A directory holding none of the starter's
159
+ // and uploads to its dev version with `npm run dev`, which runs `dewctl dev`. A directory holding none of the starter's
160
160
  // files gets a new game, depending on the SDK and this CLI from npm; one holding any of them has a game of its own
161
161
  // and gets dewdrop.json alone, so nothing of it is touched and no new game is left half written.
162
162
  const STARTER_FILES=['package.json','src','index.html','vite.config.js'];
@@ -166,7 +166,7 @@ const SDK_RANGE='^0.6.0';
166
166
  const CLI_RANGE=`^${JSON.parse(readFileSync(new URL('../package.json',import.meta.url),'utf8')).version}`;
167
167
  // The games a new one can start from: Blank, which ships with this CLI, and the starter games in the public
168
168
  // starter-templates repository, a folder each, at the commit this release pins.
169
- const STARTERS={repo:'DewdropLabs/starter-templates',commit:'578fc8e9280b7542ebb2772339da3d2e82f57647'};
169
+ const STARTERS={repo:'DewdropLabs/starter-templates',commit:'32e121d3e9431c38ab24f8e3b92d3f65dc4f9c9d'};
170
170
  const TEMPLATES={
171
171
  blank:['Blank','a cube and a style prompt, the smallest game'],
172
172
  'golden-glide':['Golden Glide','flight over golden-hour countryside, in gouache'],