@homie-rocks/studio 0.20.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 (54) hide show
  1. package/CHANGELOG.md +78 -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 +52 -3
  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/check.mjs +3 -1
  14. package/lib/codex.mjs +43 -1
  15. package/lib/colour.mjs +160 -0
  16. package/lib/decisions.mjs +800 -0
  17. package/lib/directory.mjs +9 -1
  18. package/lib/library.mjs +169 -0
  19. package/lib/mcp-tools.mjs +22 -4
  20. package/lib/mcp.mjs +6 -3
  21. package/lib/office.mjs +30 -8
  22. package/lib/optimise.mjs +380 -0
  23. package/lib/port-check.mjs +3 -1
  24. package/lib/progress.mjs +16 -1
  25. package/lib/remix-assets.mjs +84 -0
  26. package/lib/render3d.mjs +81 -0
  27. package/lib/scaffold.mjs +32 -1
  28. package/lib/site.mjs +6 -1
  29. package/lib/studio.mjs +136 -9
  30. package/lib/style-board.mjs +227 -0
  31. package/lib/style-presets.mjs +121 -0
  32. package/lib/template-history.json +75 -0
  33. package/lib/thumb.mjs +82 -0
  34. package/mcp/ui/card.css +15 -0
  35. package/mcp/ui/cast.js +62 -0
  36. package/mcp/ui/decision.js +61 -0
  37. package/mcp/ui/lineup.js +68 -0
  38. package/mcp/ui/rights.js +30 -0
  39. package/mcp/ui/style.js +154 -0
  40. package/package.json +14 -2
  41. package/starters/gem-rush-3d/assets/RIGHTS.md +203 -0
  42. package/starters/gem-rush-3d/assets/manifest.json +2318 -0
  43. package/starters/gem-rush-3d/credits.json +31 -0
  44. package/starters/gem-rush-3d/game.json +11 -0
  45. package/starters/gem-rush-3d/index.html +20 -0
  46. package/starters/gem-rush-3d/lab.json +19 -0
  47. package/starters/gem-rush-3d/src/main.ts +2086 -0
  48. package/starters/gem-rush-3d/style.json +66 -0
  49. package/starters/gem-rush-3d/tunables.json +13 -0
  50. package/worker/index.mjs +5 -3
  51. package/worker/pages.mjs +13 -5
  52. package/worker/qr.mjs +11 -0
  53. package/worker/site.mjs +5 -3
  54. package/worker/version.mjs +1 -1
@@ -0,0 +1,31 @@
1
+ {
2
+ "parts": [
3
+ {
4
+ "what": "Kenney Cube Pets (models)",
5
+ "author": "Kenney",
6
+ "url": "https://kenney.nl/assets/cube-pets",
7
+ "licence": "CC0-1.0",
8
+ "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
9
+ "note": "Copied from the Homie starter library",
10
+ "asset": true
11
+ },
12
+ {
13
+ "what": "Kenney Nature Kit (models)",
14
+ "author": "Kenney",
15
+ "url": "https://kenney.nl/assets/nature-kit",
16
+ "licence": "CC0-1.0",
17
+ "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
18
+ "note": "Copied from the Homie starter library",
19
+ "asset": true
20
+ },
21
+ {
22
+ "what": "Kenney Platformer Kit (models)",
23
+ "author": "Kenney",
24
+ "url": "https://kenney.nl/assets/platformer-kit",
25
+ "licence": "CC0-1.0",
26
+ "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
27
+ "note": "Copied from the Homie starter library",
28
+ "asset": true
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "gem-rush-3d",
3
+ "name": "Gem Rush 3D",
4
+ "blurb": "Gem Rush in a meadow: animals grab gems and bump each other away. Sixty-second rounds that never stop, drawn in three.js with free CC0 models.",
5
+ "players": { "min": 1, "max": 8 },
6
+ "roundSeconds": 60,
7
+ "entry": "src/main.ts",
8
+ "netplay": { "v": 1, "public": true, "movement": "owner" },
9
+ "needs": { "three": "0.185.1" },
10
+ "assets": "library"
11
+ }
@@ -0,0 +1,20 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, user-scalable=no">
6
+ <title>Gem Rush 3D</title>
7
+ <link rel="icon" href="data:,">
8
+ <style>
9
+ html, body { margin: 0; height: 100%; background: #cfe8f5; overflow: hidden; overscroll-behavior: none; -webkit-user-select: none; user-select: none; }
10
+ canvas { position: fixed; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; }
11
+ /* The HUD is drawn over the world and never takes a touch: every touch reaches the world's canvas. */
12
+ #hud { pointer-events: none; }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <canvas id="c"></canvas>
17
+ <canvas id="hud"></canvas>
18
+ <script type="module" crossorigin src="./assets/main.js"></script>
19
+ </body>
20
+ </html>
@@ -0,0 +1,19 @@
1
+ {
2
+ "v": 1,
3
+ "default": "knock",
4
+ "takes": {
5
+ "knock": {
6
+ "note": "Bump the dummy beside you",
7
+ "seconds": 2.2,
8
+ "seed": 7,
9
+ "stage": "dummy",
10
+ "device": "desk",
11
+ "fps": 60,
12
+ "view": "close",
13
+ "track": "speed",
14
+ "inputs": [
15
+ { "at": 0.5, "key": "Space", "hold": 0.1 }
16
+ ]
17
+ }
18
+ }
19
+ }