@homie-rocks/studio 0.18.2 → 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/README.md +31 -0
- package/bin/homie-studio.mjs +54 -4
- package/lib/build.mjs +20 -2
- package/lib/perf-profile.mjs +171 -0
- package/lib/perf-stats.mjs +249 -0
- package/lib/perf.mjs +680 -0
- package/lib/scaffold.mjs +8 -0
- package/lib/template-history.json +37 -0
- package/package.json +1 -1
- package/worker/version.mjs +1 -1
package/lib/scaffold.mjs
CHANGED
|
@@ -110,6 +110,7 @@ directory lists its games; homie.rocks does not host them.
|
|
|
110
110
|
| \`site/\` | The studio's site: its look (\`theme.json\`), and anything of its own that wins over the generated pages (\`site/README.md\`); the Worker (\`src/worker.mjs\`) and its D1 migrations. |
|
|
111
111
|
| \`wrangler.jsonc\` | The Worker's Cloudflare config (the Worker, D1, the Table and Lobby Durable Objects, and \`previews\` for branch Previews), at the root, where Cloudflare's Workers Builds reads it. A studio made before 0.10.0 keeps it in \`site/\` and deploys from a computer; every command finds either. |
|
|
112
112
|
| \`changes/\` | One small file per change that went out through a pull request (\`homie-studio progress pr\` writes it): the site lists the newest, so the Claude app can tell when a merged change is live. |
|
|
113
|
+
| \`perf/\` | Performance reports, one folder per game (the Homie plugin's \`perf\` skill): \`README.md\` (the goal, before and after with the noise, every change tried and why it was kept or reverted), \`numbers.json\` and \`before-after/\`. The raw runs, screenshots and CPU profiles stay in \`.perf/\`, which git ignores. |
|
|
113
114
|
| \`studio.json\` | The studio's name, slug, Cloudflare resource names, custom domain and stats sharing. \`.studio/\` (git-ignored) is this computer's own state. |
|
|
114
115
|
| \`.claude/skills/\` | Skills only this studio uses. Homie's own skills come from the Homie plugin. |
|
|
115
116
|
|
|
@@ -134,6 +135,11 @@ studio's pinned copy, never a registry lookup of the bare name.
|
|
|
134
135
|
never \`pkill\` by name, which stops other projects' dev servers too).
|
|
135
136
|
- \`npx --no-install homie-studio check <id> --url <site>\` — two headless browsers press Play and must
|
|
136
137
|
land in the same room and finish a round. Run it before you say a game works.
|
|
138
|
+
- \`npx --no-install homie-studio perf <id> --url <site>\` — how fast a game runs, on a computer and an emulated
|
|
139
|
+
phone, with two browsers in a room (the host and a replica): frame times, the game's JavaScript and the main thread
|
|
140
|
+
per frame, time to playable, what it downloads, the heap, netplay messages a second (files under \`.perf/\`). The
|
|
141
|
+
Homie plugin's \`perf\` skill runs the whole loop: one change at a time, kept only when it is better beyond the noise
|
|
142
|
+
and \`check\` still passes, and a report in \`perf/<id>/\`.
|
|
137
143
|
- \`npx --no-install homie-studio deploy --plan\` — says what deploy will create on Cloudflare and what it
|
|
138
144
|
costs, and changes nothing. Tell the person before the first deploy.
|
|
139
145
|
- \`npm run deploy\` — the site on this studio's Cloudflare: one Worker, one D1 database, two
|
|
@@ -456,6 +462,8 @@ site/.wrangler/
|
|
|
456
462
|
games/*/.port/
|
|
457
463
|
# Screenshots from check and look runs.
|
|
458
464
|
.checks/
|
|
465
|
+
# Performance runs (homie-studio perf, the perf skill): numbers, screenshots and CPU profiles of each run.
|
|
466
|
+
.perf/
|
|
459
467
|
# Large media lives in this studio's storage (R2, after storage add: media move) or is served by the site; the manifests beside it (which name each file's R2 copy) are committed.
|
|
460
468
|
# Working files of the music and video skills (frames, captures, provider answers) stay on this computer.
|
|
461
469
|
music/**/work/
|
|
@@ -739,6 +739,43 @@
|
|
|
739
739
|
}
|
|
740
740
|
}
|
|
741
741
|
}
|
|
742
|
+
},
|
|
743
|
+
"0.19.0": {
|
|
744
|
+
"files": {
|
|
745
|
+
"CLAUDE.md": "ddf2b2a0376202f6",
|
|
746
|
+
"README.md": "684b3cca8001673c",
|
|
747
|
+
"HANDOFF.md": "ce7a8fd91c6bbee2",
|
|
748
|
+
"games/README.md": "5ad32fe80c61f117",
|
|
749
|
+
"music/README.md": "a3dc042dadd39df8",
|
|
750
|
+
"videos/README.md": "16babc3437d5545b",
|
|
751
|
+
"posts/README.md": "37841aae476bd540",
|
|
752
|
+
"site/README.md": "ca131cd0472464fb",
|
|
753
|
+
"site/src/worker.mjs": "ca3f1630f2420ad3"
|
|
754
|
+
},
|
|
755
|
+
"sections": {
|
|
756
|
+
"AGENTS.md": {
|
|
757
|
+
"(intro)": "214aa46eb3a895d5",
|
|
758
|
+
"## Layout": "8dc97df0d77e655e",
|
|
759
|
+
"## Commands (all through the pinned CLI in node_modules)": "a06ab13fc385ab25",
|
|
760
|
+
"## The site": "ab922bb6bde23293",
|
|
761
|
+
"## Making games": "a8a893eeada33bf5",
|
|
762
|
+
"## The Game Codex and progress": "0738ef719cef3a4c",
|
|
763
|
+
"## Running live games (the back office)": "f0566f07cff04113",
|
|
764
|
+
"## Servers and AI seats": "0a332b07e22d3fce",
|
|
765
|
+
"## Continuing a build from the Claude app": "0d68081e924ca419",
|
|
766
|
+
"## Rules": "969318425c99f5a5",
|
|
767
|
+
"## Beta": "9d02638207a26e73"
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
"named": {
|
|
771
|
+
"Homie Arcade": {
|
|
772
|
+
"sections": {
|
|
773
|
+
"AGENTS.md": {
|
|
774
|
+
"## Commands (all through the pinned CLI in node_modules)": "677ee39dc13485e0"
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
}
|
|
742
779
|
}
|
|
743
780
|
}
|
|
744
781
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homie-rocks/studio",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "A studio for games, music and video on its own Cloudflare: scaffold, multiplayer starters on the netplay contract, a port toolkit that makes existing single-player web games multiplayer, the site Worker with public rooms (Table/Lobby Durable Objects and D1, all on the free Workers plan, no payment method), a site with the hub's sections (Home, Games, Music, Videos, Rooms, Posts with feeds) in the studio's own look, an epic landing page for every game, big songs and videos in the studio's own R2 once it has storage (uploaded, checked by SHA-256, served at the same addresses), deploy, and the homie.rocks directory.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
package/worker/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The @homie-rocks/studio version this Worker code is (package.json's; a test keeps them equal). Cache-busts /_homie/site.js. */
|
|
2
|
-
export const STUDIO_VERSION_TAG = '0.
|
|
2
|
+
export const STUDIO_VERSION_TAG = '0.19.0';
|