hayao 0.2.0 → 0.4.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 (83) hide show
  1. package/README.md +123 -24
  2. package/bin/create-hayao.mjs +380 -0
  3. package/bin/hayao-mcp-cli.mjs +11 -0
  4. package/dist/app/browser.d.ts +65 -4
  5. package/dist/app/game.d.ts +59 -10
  6. package/dist/app/tuning.d.ts +68 -0
  7. package/dist/art/palette.d.ts +41 -0
  8. package/dist/audio/adaptive.d.ts +58 -0
  9. package/dist/audio/album.d.ts +16 -0
  10. package/dist/audio/analysis.d.ts +59 -0
  11. package/dist/audio/audio.d.ts +39 -1
  12. package/dist/audio/chord.d.ts +17 -0
  13. package/dist/audio/genres.d.ts +11 -0
  14. package/dist/audio/lint.d.ts +29 -0
  15. package/dist/audio/match.d.ts +38 -0
  16. package/dist/audio/music.d.ts +88 -0
  17. package/dist/audio/pcm.d.ts +54 -0
  18. package/dist/audio/quality.d.ts +28 -0
  19. package/dist/audio/reverb.d.ts +15 -0
  20. package/dist/audio/synth.d.ts +63 -0
  21. package/dist/audio/theory.d.ts +64 -0
  22. package/dist/audio/zzfx.d.ts +14 -0
  23. package/dist/content/campaign.d.ts +69 -0
  24. package/dist/content/generate.d.ts +78 -0
  25. package/dist/content/level.d.ts +93 -0
  26. package/dist/content/worldgraph.d.ts +73 -0
  27. package/dist/core/clock.d.ts +1 -1
  28. package/dist/core/dmath.d.ts +2 -0
  29. package/dist/core/projection.d.ts +36 -0
  30. package/dist/core/rng.d.ts +9 -0
  31. package/dist/hayao.global.js +200 -0
  32. package/dist/index.d.ts +39 -1
  33. package/dist/index.js +6558 -686
  34. package/dist/index.js.map +4 -4
  35. package/dist/index.min.js +200 -0
  36. package/dist/input/actions.d.ts +60 -6
  37. package/dist/input/gamepad.d.ts +101 -0
  38. package/dist/input/source.d.ts +133 -1
  39. package/dist/logic/coroutine.d.ts +68 -0
  40. package/dist/mcp.js +31225 -0
  41. package/dist/rasterize-worker-lite.mjs +13 -0
  42. package/dist/render/canvas.d.ts +6 -5
  43. package/dist/render/canvas2d-core.d.ts +9 -0
  44. package/dist/render/commands.d.ts +82 -2
  45. package/dist/render/paint.d.ts +41 -0
  46. package/dist/render/renderer.d.ts +47 -0
  47. package/dist/render/svg.d.ts +5 -1
  48. package/dist/render/svgString.d.ts +6 -2
  49. package/dist/render/webgl.d.ts +176 -0
  50. package/dist/scene/cameraController.d.ts +42 -0
  51. package/dist/scene/iso.d.ts +73 -0
  52. package/dist/scene/node.d.ts +98 -6
  53. package/dist/scene/nodes.d.ts +48 -0
  54. package/dist/scene/parallax.d.ts +15 -0
  55. package/dist/scene/particles.d.ts +19 -0
  56. package/dist/scene/verletChain.d.ts +76 -0
  57. package/dist/studio/mcpMain.d.ts +1 -0
  58. package/dist/studio/mcpServer.d.ts +2 -0
  59. package/dist/studio/record.d.ts +54 -0
  60. package/dist/studio/run.d.ts +78 -0
  61. package/dist/studio/session.d.ts +80 -0
  62. package/dist/studio/timeline.d.ts +35 -0
  63. package/dist/studio/vitePlugin.d.ts +6 -0
  64. package/dist/studio-plugin.js +228 -0
  65. package/dist/ui/overlay.d.ts +6 -0
  66. package/dist/ui/touch.d.ts +51 -0
  67. package/dist/verify/audioFilmstrip.d.ts +39 -0
  68. package/dist/verify/dom.d.ts +26 -0
  69. package/dist/verify/ethnography.d.ts +67 -0
  70. package/dist/verify/gates.d.ts +160 -0
  71. package/dist/verify/layout.d.ts +30 -3
  72. package/dist/verify/ramp.d.ts +40 -0
  73. package/dist/world.d.ts +109 -8
  74. package/dist-studio/assets/index-C7tty_Wo.js +109 -0
  75. package/dist-studio/assets/index-CM3tjRQo.css +1 -0
  76. package/dist-studio/index.html +18 -0
  77. package/docs/API.md +300 -23
  78. package/docs/CONVENTIONS.md +511 -0
  79. package/docs/EMBED.md +90 -0
  80. package/docs/QUICKSTART.md +141 -0
  81. package/docs/STUDIO.md +97 -0
  82. package/docs/VERIFICATION.md +256 -0
  83. package/package.json +40 -6
@@ -0,0 +1 @@
1
+ :root{--washi: #f1ebdd;--washi-2: #f8f3e9;--sumi: #242019;--sumi-soft: #4f473b;--stone: #6f6555;--ai: #2b4257;--shu: #b5442d;--matsu: #4a7a3a;--line: #ddd3bf;--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--washi);color:var(--sumi);font-family:Iowan Old Style,Palatino,Georgia,serif;overscroll-behavior:none}#root{height:100%;display:flex;flex-direction:column}header.bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--washi-2);flex-wrap:wrap}header.bar .brand{font-weight:700;font-size:17px;color:var(--sumi);text-decoration:none;white-space:nowrap}header.bar .brand .js{font-size:11px;color:var(--stone)}header.bar select,header.bar input[type=number]{font:13px var(--mono);padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--washi);color:var(--sumi);max-width:44vw}header.bar .spacer{flex:1}header.bar .build{font:11px var(--mono);color:var(--stone)}main.panes{flex:1;display:flex;min-height:0}.pane{flex:1;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.pane:last-child{border-right:none}.pane .pane-head{display:flex;align-items:center;gap:8px;padding:6px 10px;font:12px var(--mono);color:var(--sumi-soft);background:var(--washi-2);border-bottom:1px solid var(--line)}.pane iframe{flex:1;width:100%;border:0;background:#fff}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#24201959;display:flex;justify-content:flex-end}.drawer>div,.drawer-inner{background:var(--washi)}.drawer-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--washi-2)}.drawer-head b{font-size:16px}.drawer-head .hy{margin-left:auto}.drawer .drawer-head,.drawer .drawer-body{width:min(520px,100vw)}.drawer{flex-direction:column;align-items:flex-end}.drawer-body{flex:1;overflow-y:auto;background:var(--washi);border-left:1px solid var(--line);padding-bottom:40px}.session-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;text-align:left;padding:11px 16px;background:none;border:none;border-bottom:1px solid var(--line);font:inherit;color:var(--sumi);cursor:pointer}.session-row .game{font-weight:600}.session-row .when{grid-row:1 / 3;grid-column:2;align-self:center}.session-row.open{background:var(--washi-2)}.report{padding:10px 16px 16px;border-bottom:1px solid var(--line);background:var(--washi-2);font-size:14.5px}.report p{margin:7px 0;line-height:1.55}.report .stat-row{display:flex;flex-wrap:wrap;gap:6px 16px;font:600 13px var(--mono);margin:6px 0 10px}.report .good{color:var(--matsu)}.report .warn{color:var(--shu)}.report .moment{padding:5px 10px}.moment-link{background:none;border:none;border-bottom:1px dashed var(--ai);color:var(--ai);font:inherit;cursor:pointer;padding:0 2px;margin-right:8px}.phone-card{margin:auto;background:var(--washi);border:1px solid var(--line);border-radius:12px;padding:22px 26px;display:grid;gap:12px;justify-items:center;max-width:min(340px,92vw);text-align:center}.phone-card b{font-size:17px}.phone-card img{border:1px solid var(--line);border-radius:8px}.phone-card code{font:12.5px var(--mono);color:var(--ai);word-break:break-all}label.hy input[type=file]{display:none}.pane-head .tape{color:var(--shu);font-weight:700}.pane-head .hy{padding:3px 9px;font-size:11px}.timeline{display:flex;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid var(--line);background:var(--washi-2);position:relative}.timeline input[type=range]{flex:1;accent-color:var(--shu);touch-action:none;min-height:28px}.timeline .frames{min-width:86px;text-align:right;font-variant-numeric:tabular-nums}.timeline .probe{position:absolute;right:10px;bottom:100%;margin:0 0 8px;max-height:46vh;max-width:min(420px,92vw);overflow:auto;background:var(--washi-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:11.5px var(--mono);color:var(--sumi-soft);box-shadow:0 6px 24px #2420191f}.actions{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line);background:var(--washi-2);flex-wrap:wrap;align-items:center}button.hy{font:600 13px var(--mono);padding:9px 14px;border-radius:8px;border:1px solid var(--line);background:var(--washi);color:var(--sumi);cursor:pointer;touch-action:manipulation}button.hy:active{transform:translateY(1px)}button.hy.feel{border-color:var(--shu);color:var(--shu)}button.hy.accept{border-color:var(--matsu);color:var(--matsu)}.note{font:11px var(--mono);color:var(--stone)}.toast{position:fixed;left:50%;bottom:86px;transform:translate(-50%);background:var(--sumi);color:var(--washi);font:12px var(--mono);padding:8px 14px;border-radius:8px;z-index:60;pointer-events:none}@media(max-width:720px){main.panes{flex-direction:column}.pane{border-right:none;border-bottom:1px solid var(--line)}header.bar .build{display:none}}
@@ -0,0 +1,18 @@
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.0" />
6
+ <title>Studio · hayao.js</title>
7
+ <meta name="description" content="Hayao Studio — playtest, tune, annotate, and A/B games with an AI co-developer." />
8
+ <link
9
+ rel="icon"
10
+ href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Crect width='120' height='120' fill='%23242019'/%3E%3Crect x='32' y='30' width='58' height='58' fill='none' stroke='%23f1ebdd' stroke-width='3' opacity='.4'/%3E%3Ccircle cx='61' cy='59' r='14' fill='%23b5442d'/%3E%3C/svg%3E"
11
+ />
12
+ <script type="module" crossorigin src="./assets/index-C7tty_Wo.js"></script>
13
+ <link rel="stylesheet" crossorigin href="./assets/index-CM3tjRQo.css">
14
+ </head>
15
+ <body>
16
+ <div id="root"></div>
17
+ </body>
18
+ </html>