@homie-rocks/studio 0.24.5 → 0.26.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 (45) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/README.md +56 -6
  3. package/assets/animate.ts +521 -0
  4. package/assets/render-page.ts +77 -4
  5. package/bin/homie-studio.mjs +13 -4
  6. package/lib/art-cli.mjs +105 -5
  7. package/lib/art-tools.mjs +168 -1
  8. package/lib/asset-check.mjs +72 -5
  9. package/lib/characters.mjs +380 -0
  10. package/lib/clips.mjs +417 -0
  11. package/lib/decisions.mjs +38 -8
  12. package/lib/mcp-tools.mjs +1 -1
  13. package/lib/mcp.mjs +2 -2
  14. package/lib/optimise.mjs +79 -3
  15. package/lib/perf.mjs +15 -7
  16. package/lib/render3d.mjs +2 -0
  17. package/lib/rig.mjs +431 -0
  18. package/lib/scaffold.mjs +7 -0
  19. package/lib/site.mjs +14 -3
  20. package/lib/studio.mjs +18 -3
  21. package/lib/style-board.mjs +3 -1
  22. package/lib/template-history.json +78 -0
  23. package/mcp/ui/animation.js +56 -0
  24. package/mcp/ui/card.css +4 -0
  25. package/mcp/ui/cast.js +36 -2
  26. package/mcp/ui/lineup.js +7 -7
  27. package/netplay/NETPLAY.md +38 -2
  28. package/netplay/netplay.ts +58 -3
  29. package/package.json +5 -1
  30. package/site/SITE.md +19 -1
  31. package/starters/gem-rush/game.json +2 -1
  32. package/starters/gem-rush-3d/game.json +2 -1
  33. package/starters/hero-rush-3d/assets/RIGHTS.md +163 -0
  34. package/starters/hero-rush-3d/assets/manifest.json +1471 -0
  35. package/starters/hero-rush-3d/credits.json +40 -0
  36. package/starters/hero-rush-3d/game.json +12 -0
  37. package/starters/hero-rush-3d/index.html +20 -0
  38. package/starters/hero-rush-3d/lab.json +32 -0
  39. package/starters/hero-rush-3d/src/main.ts +2588 -0
  40. package/starters/hero-rush-3d/style.json +68 -0
  41. package/starters/hero-rush-3d/tunables.json +32 -0
  42. package/worker/arrival.mjs +207 -0
  43. package/worker/pages.mjs +23 -5
  44. package/worker/site.mjs +26 -4
  45. package/worker/version.mjs +1 -1
@@ -0,0 +1,40 @@
1
+ {
2
+ "parts": [
3
+ {
4
+ "what": "KayKit Adventurers (models)",
5
+ "author": "KayKit",
6
+ "url": "https://github.com/KayKit-Game-Assets/KayKit-Character-Pack-Adventures-1.0",
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": "KayKit Medieval Hexagon (models)",
14
+ "author": "KayKit",
15
+ "url": "https://github.com/KayKit-Game-Assets/KayKit-Medieval-Hexagon-Pack-1.0",
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": "KayKit Dungeon Remastered (models)",
23
+ "author": "KayKit",
24
+ "url": "https://github.com/KayKit-Game-Assets/KayKit-Dungeon-Remastered-1.0",
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
+ "what": "KayKit Skeletons (models)",
32
+ "author": "KayKit",
33
+ "url": "https://github.com/KayKit-Game-Assets/KayKit-Character-Pack-Skeletons-1.0",
34
+ "licence": "CC0-1.0",
35
+ "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
36
+ "note": "Copied from the Homie starter library",
37
+ "asset": true
38
+ }
39
+ ]
40
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "hero-rush-3d",
3
+ "name": "Hero Rush 3D",
4
+ "blurb": "Knights, mages and rogues race for the coins, jump each other's swings and knock the loot loose. Sixty-second rounds that never stop, in three.js with free CC0 animated characters.",
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
+ "landing": { "pitch": "Grab the coins. Jump their swings. Knock the loot loose.", "controls": { "phone": "Drag anywhere to run; Jump and Swing at the bottom right.", "computer": "WASD or arrows to run, Space to jump, F or a click to swing." } }
12
+ }
@@ -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>Hero 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,32 @@
1
+ {
2
+ "v": 1,
3
+ "default": "jump",
4
+ "takes": {
5
+ "jump": {
6
+ "note": "Jump in an open spot: take-off, the top, the landing",
7
+ "seconds": 1.8,
8
+ "seed": 7,
9
+ "stage": "jump",
10
+ "device": "desk",
11
+ "fps": 60,
12
+ "view": "close",
13
+ "track": "height",
14
+ "inputs": [
15
+ { "at": 0.4, "key": "Space", "hold": 0.1 }
16
+ ]
17
+ },
18
+ "swing": {
19
+ "note": "Swing at the dummy beside you",
20
+ "seconds": 2.2,
21
+ "seed": 7,
22
+ "stage": "dummy",
23
+ "device": "desk",
24
+ "fps": 60,
25
+ "view": "close",
26
+ "track": "speed",
27
+ "inputs": [
28
+ { "at": 0.5, "key": "KeyF", "hold": 0.1 }
29
+ ]
30
+ }
31
+ }
32
+ }