@homie-rocks/studio 0.21.0 → 0.22.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/README.md +55 -0
  3. package/assets/assets.ts +500 -0
  4. package/assets/render-page.ts +629 -0
  5. package/assets/safety.mjs +194 -0
  6. package/bin/homie-studio.mjs +47 -1
  7. package/lib/art-cli.mjs +296 -0
  8. package/lib/art-tools.mjs +331 -0
  9. package/lib/asset-check.mjs +189 -0
  10. package/lib/asset-import.mjs +136 -0
  11. package/lib/asset-manifest.mjs +318 -0
  12. package/lib/build.mjs +25 -2
  13. package/lib/codex.mjs +43 -1
  14. package/lib/colour.mjs +160 -0
  15. package/lib/decisions.mjs +800 -0
  16. package/lib/directory.mjs +9 -1
  17. package/lib/library.mjs +169 -0
  18. package/lib/mcp-tools.mjs +22 -4
  19. package/lib/mcp.mjs +6 -3
  20. package/lib/optimise.mjs +380 -0
  21. package/lib/remix-assets.mjs +84 -0
  22. package/lib/render3d.mjs +81 -0
  23. package/lib/scaffold.mjs +26 -0
  24. package/lib/site.mjs +6 -1
  25. package/lib/studio.mjs +136 -9
  26. package/lib/style-board.mjs +227 -0
  27. package/lib/style-presets.mjs +121 -0
  28. package/lib/template-history.json +38 -0
  29. package/mcp/ui/card.css +15 -0
  30. package/mcp/ui/cast.js +62 -0
  31. package/mcp/ui/decision.js +61 -0
  32. package/mcp/ui/lineup.js +68 -0
  33. package/mcp/ui/rights.js +30 -0
  34. package/mcp/ui/style.js +154 -0
  35. package/package.json +14 -2
  36. package/starters/gem-rush-3d/assets/RIGHTS.md +203 -0
  37. package/starters/gem-rush-3d/assets/manifest.json +2318 -0
  38. package/starters/gem-rush-3d/credits.json +31 -0
  39. package/starters/gem-rush-3d/game.json +11 -0
  40. package/starters/gem-rush-3d/index.html +20 -0
  41. package/starters/gem-rush-3d/lab.json +19 -0
  42. package/starters/gem-rush-3d/src/main.ts +2086 -0
  43. package/starters/gem-rush-3d/style.json +66 -0
  44. package/starters/gem-rush-3d/tunables.json +13 -0
  45. package/worker/index.mjs +5 -3
  46. package/worker/pages.mjs +13 -5
  47. package/worker/qr.mjs +11 -0
  48. package/worker/site.mjs +5 -3
  49. package/worker/version.mjs +1 -1
@@ -0,0 +1,203 @@
1
+ # Rights: Gem Rush 3D
2
+
3
+ Every file this game ships, where it came from, its licence and what that allows. Written by `homie-studio assets rights gem-rush-3d` from `assets/manifest.json`; do not edit it by hand.
4
+
5
+ ## What the providers' terms say
6
+
7
+ Read on the dates shown. Terms change: read the live page again before publishing anything commercial.
8
+
9
+ - **Kenney** (https://kenney.nl/support, read 2026-10-02): Public domain (CC0): use in any project, commercial or not; credit is not required (kindly given anyway).
10
+
11
+ ## Files
12
+
13
+ ### animal-cat
14
+
15
+ - **What:** character (Players/Cat): `public/models/animal-cat.glb`
16
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-cat (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
17
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
18
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
19
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
20
+
21
+ ### animal-caterpillar
22
+
23
+ - **What:** character (Players/Caterpillar): `public/models/animal-caterpillar.glb`
24
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-caterpillar (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
25
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
26
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
27
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
28
+
29
+ ### animal-chick
30
+
31
+ - **What:** character (Players/Chick): `public/models/animal-chick.glb`
32
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-chick (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
33
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
34
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
35
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
36
+
37
+ ### animal-crab
38
+
39
+ - **What:** character (Players/Crab): `public/models/animal-crab.glb`
40
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-crab (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
41
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
42
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
43
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
44
+
45
+ ### animal-elephant
46
+
47
+ - **What:** character (Players/Elephant): `public/models/animal-elephant.glb`
48
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-elephant (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
49
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
50
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
51
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
52
+
53
+ ### animal-fox
54
+
55
+ - **What:** character (Players/Fox): `public/models/animal-fox.glb`
56
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-fox (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
57
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
58
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
59
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
60
+
61
+ ### animal-panda
62
+
63
+ - **What:** character (Players/Panda): `public/models/animal-panda.glb`
64
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-panda (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
65
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
66
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
67
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
68
+
69
+ ### animal-pig
70
+
71
+ - **What:** character (Players/Pig): `public/models/animal-pig.glb`
72
+ - **From:** from the Homie starter library: Kenney Cube Pets, animal-pig (https://kenney.nl/assets/cube-pets); library, in game (src/main.ts)
73
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
74
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
75
+ - **Notes:** From the Homie starter library (kenney-cube-pets); the pack's own licence text: licenses/kenney-cube-pets.txt. `game new` fetches the file; the repository holds no models.
76
+
77
+ ### bush
78
+
79
+ - **What:** prop (Places/Bush): `public/models/bush.glb`
80
+ - **From:** from the Homie starter library: Kenney Nature Kit, tree-fat (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
81
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
82
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
83
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
84
+
85
+ ### campfire
86
+
87
+ - **What:** prop (Places/Campfire): `public/models/campfire.glb`
88
+ - **From:** from the Homie starter library: Kenney Nature Kit, campfire-stones (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
89
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
90
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
91
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
92
+
93
+ ### fence
94
+
95
+ - **What:** kit (Places/Fence): `public/models/fence.glb`
96
+ - **From:** from the Homie starter library: Kenney Nature Kit, fence-simple (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
97
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
98
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
99
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
100
+
101
+ ### firewood
102
+
103
+ - **What:** prop (Places/Firewood): `public/models/firewood.glb`
104
+ - **From:** from the Homie starter library: Kenney Nature Kit, campfire-logs (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
105
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
106
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
107
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
108
+
109
+ ### flower-purple
110
+
111
+ - **What:** prop (Places/Purple flower): `public/models/flower-purple.glb`
112
+ - **From:** from the Homie starter library: Kenney Nature Kit, flower-purple-a (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
113
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
114
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
115
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
116
+
117
+ ### flower-red
118
+
119
+ - **What:** prop (Places/Red flower): `public/models/flower-red.glb`
120
+ - **From:** from the Homie starter library: Kenney Nature Kit, flower-red-a (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
121
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
122
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
123
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
124
+
125
+ ### flower-yellow
126
+
127
+ - **What:** prop (Places/Yellow flower): `public/models/flower-yellow.glb`
128
+ - **From:** from the Homie starter library: Kenney Nature Kit, flower-yellow-a (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
129
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
130
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
131
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
132
+
133
+ ### gem
134
+
135
+ - **What:** prop (Items/Gem): `public/models/gem.glb`
136
+ - **From:** from the Homie starter library: Kenney Platformer Kit, jewel (https://kenney.nl/assets/platformer-kit); library, in game (src/main.ts)
137
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
138
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
139
+ - **Notes:** From the Homie starter library (kenney-platformer-kit); the pack's own licence text: licenses/kenney-platformer-kit.txt. `game new` fetches the file; the repository holds no models.
140
+
141
+ ### grass
142
+
143
+ - **What:** prop (Places/Grass): `public/models/grass.glb`
144
+ - **From:** from the Homie starter library: Kenney Nature Kit, grass-leafs-large (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
145
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
146
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
147
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
148
+
149
+ ### log
150
+
151
+ - **What:** prop (Places/Log seat): `public/models/log.glb`
152
+ - **From:** from the Homie starter library: Kenney Nature Kit, log-large (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
153
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
154
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
155
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
156
+
157
+ ### mushrooms
158
+
159
+ - **What:** prop (Places/Mushrooms): `public/models/mushrooms.glb`
160
+ - **From:** from the Homie starter library: Kenney Nature Kit, mushroom-red-group (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
161
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
162
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
163
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
164
+
165
+ ### rock
166
+
167
+ - **What:** prop (Places/Rock): `public/models/rock.glb`
168
+ - **From:** from the Homie starter library: Kenney Nature Kit, stone-large-d (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
169
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
170
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
171
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
172
+
173
+ ### stone
174
+
175
+ - **What:** prop (Places/Standing stone): `public/models/stone.glb`
176
+ - **From:** from the Homie starter library: Kenney Nature Kit, stone-tall-c (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
177
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
178
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
179
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
180
+
181
+ ### tree-oak
182
+
183
+ - **What:** prop (Places/Oak tree): `public/models/tree-oak.glb`
184
+ - **From:** from the Homie starter library: Kenney Nature Kit, tree-oak (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
185
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
186
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
187
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
188
+
189
+ ### tree-pine
190
+
191
+ - **What:** prop (Places/Pine): `public/models/tree-pine.glb`
192
+ - **From:** from the Homie starter library: Kenney Nature Kit, tree-pine-round-a (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
193
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
194
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
195
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.
196
+
197
+ ### tree-round
198
+
199
+ - **What:** prop (Places/Round tree): `public/models/tree-round.glb`
200
+ - **From:** from the Homie starter library: Kenney Nature Kit, tree-default (https://kenney.nl/assets/nature-kit); library, in game (src/main.ts)
201
+ - **Licence:** CC0 1.0 (public domain) (https://creativecommons.org/publicdomain/zero/1.0/); owner: Kenney
202
+ - **A remix:** a remix gets this file (fetched from this studio's site, checked by SHA-256)
203
+ - **Notes:** From the Homie starter library (kenney-nature-kit); the pack's own licence text: licenses/kenney-nature-kit.txt. `game new` fetches the file; the repository holds no models.