@homie-rocks/studio 0.49.0 → 0.50.1

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 (70) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/bin/homie-studio.mjs +5 -5
  3. package/functions/FUNCTIONS.md +71 -1
  4. package/guides/app/SKILL.md +130 -1
  5. package/guides/art/SKILL.md +154 -0
  6. package/guides/art/references/RIGHTS.md +20 -0
  7. package/guides/art/scripts/art.mjs +308 -0
  8. package/guides/models/SKILL.md +198 -0
  9. package/guides/models/references/RIGHTS.md +46 -0
  10. package/guides/models/references/models.json +175 -0
  11. package/guides/models/scripts/models.mjs +483 -0
  12. package/guides/music/SKILL.md +197 -0
  13. package/guides/music/references/COMPOSITION.md +59 -0
  14. package/guides/music/references/GAME-AUDIO.md +50 -0
  15. package/guides/music/references/RIGHTS.md +43 -0
  16. package/guides/music/scripts/lib/audio.mjs +258 -0
  17. package/guides/music/scripts/lib/eleven.mjs +260 -0
  18. package/guides/music/scripts/lib/studio.mjs +147 -0
  19. package/guides/music/scripts/music.mjs +644 -0
  20. package/guides/office/SKILL.md +99 -0
  21. package/guides/plan/SKILL.md +126 -0
  22. package/guides/plan/references/CODEX.md +105 -0
  23. package/guides/plan/references/INTERVIEW.md +86 -0
  24. package/guides/playtest/SKILL.md +205 -0
  25. package/guides/playtest/references/METHOD.md +124 -0
  26. package/guides/playtest/references/REVIEWER.md +78 -0
  27. package/guides/playtest/scripts/lib/exit.mjs +31 -0
  28. package/guides/playtest/scripts/lib/judge.mjs +502 -0
  29. package/guides/playtest/scripts/lib/pixels.mjs +128 -0
  30. package/guides/playtest/scripts/lib/preflight.mjs +69 -0
  31. package/guides/playtest/scripts/playtest.mjs +870 -0
  32. package/guides/servers/SKILL.md +111 -0
  33. package/guides/shop/SKILL.md +4 -0
  34. package/guides/sound/SKILL.md +156 -0
  35. package/guides/sound/references/GAME-SOUND.md +100 -0
  36. package/guides/sound/references/SCORE.md +131 -0
  37. package/guides/sound/references/TRAPS.md +93 -0
  38. package/guides/sound/scripts/lib/measure.mjs +252 -0
  39. package/guides/sound/scripts/lib/score.mjs +415 -0
  40. package/guides/sound/scripts/lib/sfx.mjs +222 -0
  41. package/guides/sound/scripts/lib/synth.mjs +509 -0
  42. package/guides/sound/scripts/sound.mjs +520 -0
  43. package/guides/style/SKILL.md +105 -0
  44. package/lib/app-needs.mjs +63 -0
  45. package/lib/check.mjs +10 -4
  46. package/lib/codex.mjs +95 -18
  47. package/lib/decisions.mjs +9 -7
  48. package/lib/functions-build.mjs +10 -0
  49. package/lib/handoff.mjs +1 -1
  50. package/lib/mcp-tools.mjs +10 -9
  51. package/lib/mcp.mjs +1 -1
  52. package/lib/scaffold.mjs +15 -7
  53. package/lib/studio.mjs +3 -3
  54. package/lib/template-history.json +84 -0
  55. package/lib/worker-config.mjs +1 -1
  56. package/package.json +1 -1
  57. package/shop/SHOP.md +4 -0
  58. package/shop/shop.ts +4 -4
  59. package/tools/TOOLS.md +21 -0
  60. package/tools/tools.ts +1 -1
  61. package/worker/build-id.mjs +1 -1
  62. package/worker/event-resources.mjs +116 -0
  63. package/worker/functions-schema.mjs +15 -0
  64. package/worker/functions.mjs +36 -22
  65. package/worker/index.mjs +23 -3
  66. package/worker/mcp-tools.mjs +14 -3
  67. package/worker/mcp.mjs +45 -8
  68. package/worker/shop-page.mjs +1 -1
  69. package/worker/shop.mjs +6 -2
  70. package/worker/version.mjs +1 -1
@@ -0,0 +1,175 @@
1
+ {
2
+ "v": 1,
3
+ "checked": "2026-10-03",
4
+ "note": "The endpoints the models skill uses, with the prices and schemas read live on the date above (fal's pricing API, its OpenAPI pages, the providers' terms). Endpoints retire and reprice monthly: `models.mjs registry` reads every price again for free and flags what moved; every receipt names the exact endpoint. Never hard-code one of these anywhere else.",
5
+ "concept": {
6
+ "withRefs": {
7
+ "endpoint": "fal-ai/bytedance/seedream/v5/lite/edit",
8
+ "price": {
9
+ "usd": 0.035,
10
+ "per": "image",
11
+ "read": "2026-10-02"
12
+ },
13
+ "input": {
14
+ "num_images": 1,
15
+ "image_size": {
16
+ "width": 2048,
17
+ "height": 2048
18
+ }
19
+ },
20
+ "refs": "image_urls",
21
+ "maxRefs": 10,
22
+ "why": "the cheapest multi-reference editor: the golden images keep every prop in one style"
23
+ },
24
+ "noRefs": {
25
+ "endpoint": "fal-ai/bytedance/seedream/v5/lite/text-to-image",
26
+ "price": {
27
+ "usd": 0.035,
28
+ "per": "image",
29
+ "read": "2026-10-02"
30
+ },
31
+ "input": {
32
+ "num_images": 1,
33
+ "image_size": {
34
+ "width": 2048,
35
+ "height": 2048
36
+ }
37
+ },
38
+ "why": "before there are golden images; the derived style prompt carries the look"
39
+ },
40
+ "minPixels": 3686400
41
+ },
42
+ "mesh": {
43
+ "prop": {
44
+ "endpoint": "tripo3d/p1/image-to-3d",
45
+ "price": {
46
+ "usd": 0.5,
47
+ "per": "model with textures (0.40 without)",
48
+ "read": "2026-10-02"
49
+ },
50
+ "credits": {
51
+ "base": 40,
52
+ "texture": 10,
53
+ "defaults": {
54
+ "texture": true
55
+ }
56
+ },
57
+ "input": {
58
+ "texture": true
59
+ },
60
+ "faceLimit": "face_limit",
61
+ "output": "model_mesh",
62
+ "why": "Tripo P1: built for low-poly game meshes, a face_limit that reaches a phone budget, $0.50 textured"
63
+ },
64
+ "fallbacks": [
65
+ {
66
+ "endpoint": "fal-ai/hyper3d/rodin/v2.5",
67
+ "price": {
68
+ "usd": 0.4,
69
+ "per": "generation",
70
+ "read": "2026-10-02"
71
+ },
72
+ "why": "quad presets and texture_delight; not wired by default"
73
+ },
74
+ {
75
+ "endpoint": "fal-ai/trellis",
76
+ "price": {
77
+ "usd": 0.02,
78
+ "per": "generation",
79
+ "read": "2026-10-02"
80
+ },
81
+ "why": "drafts for exploring, then local simplify; not wired by default"
82
+ }
83
+ ]
84
+ },
85
+ "mood": {
86
+ "endpoint": "fal-ai/bytedance/seedream/v5/lite/text-to-image",
87
+ "price": {
88
+ "usd": 0.035,
89
+ "per": "image",
90
+ "read": "2026-10-02"
91
+ },
92
+ "input": {
93
+ "num_images": 1,
94
+ "image_size": {
95
+ "width": 2560,
96
+ "height": 1440
97
+ }
98
+ }
99
+ },
100
+ "terms": [
101
+ {
102
+ "who": "fal",
103
+ "url": "https://fal.ai/terms",
104
+ "read": "2026-10-02",
105
+ "lastUpdated": "2026-09-08",
106
+ "says": "Customer owns its input; no express assignment of output; output not promised original or non-infringing; no training competing models on third-party outputs."
107
+ },
108
+ {
109
+ "who": "Tripo (developer terms)",
110
+ "url": "https://developers.tripo3d.ai/en/terms",
111
+ "read": "2026-10-02",
112
+ "lastUpdated": "2025-07-11",
113
+ "says": "\"you may use Outputs for lawful commercial or non-commercial purposes\"."
114
+ },
115
+ {
116
+ "who": "Meshy (through fal)",
117
+ "url": "https://fal.ai/models/meshy/v7.1/image-to-3d",
118
+ "read": "2026-10-03",
119
+ "says": "fal labels the endpoint \"Commercial use\"; calls through fal are paid calls on the person's own fal account (fal's terms apply to the output). Meshy's own free plan (CC BY 4.0, Meshy owns output) does not apply: this skill never uses a Meshy free plan."
120
+ }
121
+ ],
122
+ "character": {
123
+ "mesh": {
124
+ "endpoint": "meshy/v7.1/image-to-3d",
125
+ "price": {
126
+ "usd": 1.4,
127
+ "per": "textured model with auto-rigging: US$0.80 base + US$0.40 textures + US$0.20 rigging (+US$0.12 an animation preset, not used)",
128
+ "read": "2026-10-03",
129
+ "api": "the pricing API says US$0.80 a generation (the base); the page's add-ons are added on top"
130
+ },
131
+ "addons": {
132
+ "base": 0.8,
133
+ "should_texture": 0.4,
134
+ "enable_rigging": 0.2,
135
+ "enable_animation": 0.12,
136
+ "defaults": {
137
+ "should_texture": true
138
+ }
139
+ },
140
+ "input": {
141
+ "model_type": "standard",
142
+ "topology": "triangle",
143
+ "target_polycount": 7000,
144
+ "should_remesh": true,
145
+ "should_texture": true,
146
+ "enable_pbr": false,
147
+ "pose_mode": "a-pose",
148
+ "enable_rigging": true,
149
+ "enable_animation": false,
150
+ "symmetry_mode": "on"
151
+ },
152
+ "polycount": "target_polycount",
153
+ "height": "rigging_height_meters",
154
+ "output": "rigged_character_glb",
155
+ "why": "Meshy 7.1 through fal: a textured mesh, a humanoid auto-rig and basic walk and run clips in one call, on the person's own fal account; the library's clips are retargeted onto its skeleton for free"
156
+ },
157
+ "rig": {
158
+ "endpoint": "fal-ai/meshy/rigging",
159
+ "price": {
160
+ "usd": 0.8,
161
+ "per": "request (the page says US$0.20; the pricing API says US$0.80: quoted at the higher until they agree)",
162
+ "read": "2026-10-03"
163
+ },
164
+ "addons": {
165
+ "base": 0.2,
166
+ "enable_animation": 0.12
167
+ },
168
+ "input": {
169
+ "enable_animation": false
170
+ },
171
+ "why": "rig a humanoid mesh made elsewhere (a Tripo prop-style mesh, the person's own); humanoids with clear limbs only; not wired by default"
172
+ },
173
+ "concept": "uses concept.withRefs or concept.noRefs: one full-body image in an A-pose, front view, plain background"
174
+ }
175
+ }