@ debuffjp/ dev
仅允许浏览器工具的 Dev 检查和控制钩 debuff CLI和AI代理看到并驱动了正在运行的游戏.
import { devTools } from "@debuffjp/dev";
if (import.meta.env.DEV) game.use(devTools({ input }));
邦德勒斯从生产大楼中调用 debuff build 如果漏出则失败.
window.__DEBUFF_DEV__
所有参数和返回值均为JSON-序列可.
| 方法 | 回返 |
|---|---|
state() | { scene, tick, time, frozen, stats, camera, state, pluginNames, plugins }。 。 。 . camera 是世界单位的中心、缩放和视图大小, state 是活动场景的 inspect(),以及 plugins 持有 game.inspect 快照 |
step(n) | 暂停, 垫款 n 固定步骤, 返回 state() |
pause() 编号 : resume() 编号 : speed(scale) | 现场控制; state().pausedBy 说谁暂停 state().hidden (自0.25起) 标签在背景中, 循环停止直到你 step() |
frames(n) | 最新数据 n 框架分解:间隔、更新和渲染 ms、追赶步骤、四相、绘图呼叫、长任务 |
notes() | 以状态和框标注在上方的瞬间 |
params() 编号 : setParam(group, key, value) | 已键入参数计划和值 |
press(code) 编号 : release(code) | 键盘,加 "PointerRight" 编号 : "PointerMiddle" 鼠标右中键 |
tap(x, y, kind?) 编号 : pointerDown(x, y, kind?) 编号 : pointerMove 编号 : pointerUp | 指针,在逻辑坐标. kind 实值 "mouse" (违约), "touch" 或者说 "pen": 游戏在 pointer.kind,而一个触摸或笔印是联系人 1英寸 pointer.touches 而不是鼠标也按 |
wheel(dy, dx?) | cSS 像素中的轮轴滚动 |
touchDown(id, x, y, kind?) 编号 : touchMove(id, x, y) 编号 : touchUp(id) | 触摸联系人(或 "pen"; 第一种是主指针. 以回放方式录制 |
errors() | 装入后运行时间出错,解释: kind (单位:千美元)your-code, (中文(简体) ), debuff-usage, (中文(简体) ), debuff-bug, (中文(简体) ), outside), 源码 where, (中文(简体) ), hint, (中文(简体) ), count |
capture(fit?, background?) | 当前框架的PNG数据 URL. fit 发信箱: "social" 1200x675,用于X和Bluesky的帖子和链接卡)或 [width, height]以整像素缩放,所以像素艺术保持简洁. fit 增加为0.26 |
clips(on?) 编号 : saveClip(name?) | 滚动剪辑录音 : clips(true) 保持过去的15 s, saveClip 写给 .debuff/captures/ (MP4,浏览器可以记录它,否则WebM)并返回 { file, seconds, bytes, mimeType }下方的现场游戏 debuff dev。添加到0.26中 |
keepForReload() | 保存状态后重新装入 debuff dev 客户端在代码更改重新装入页面前拨打它 |
luminance(cols, rows, region?) | 当前框架的WCAG相对在网格上的亮度,用于情景闪光和对比检查 |
events(sinceTick?) | 最新数据 game.emit 电话和详细信息; state().events 按名字计算 |
rewind(tick) | 重新装入并重放会话输入到 tick,然后暂停:当时的确切状态。 在已知的会话中,你可以继续前进,直到新的游戏分支关闭。 它从0.31开始检查记录的检查站, 仅限直播游戏 |
replay(toTick?) | 自装入( 键、 指针、 param 更改) 起, 全部播放到 toTick,作为一个情景 重现它准确,加 warnings 任何无法复制的东西 从0.31起,它还持有 checkpoint 步数每60分一秒:州内每个地段的散列(scene, (中文(简体) ), events, (中文(简体) ), state.<key> 每个顶级密钥 inspect(), (中文(简体) ), plugins.<name>),这样 debuff scenario 也可以说重播时停止了匹配。 需求 devTools({ input }) |
checkpoint() | { tick, checkpoint }:现在的州,用同样的方式,因为比较一个回放 checkpoint 步骤。 增加为0.31 |
重叠
devOverlay() 增加一个面板。 后引出键会隐藏它,而QQ按钮(或双击头)会将其倒塌为有fps,一个出错计数和代理徽章的单条. 拖动头部将面板从它覆盖的任何东西上移出(0.27+);双击吉祥物再次停靠在它的角落. 面板会记起它的位置,它是否倒塌,以及哪个标签是打开的.
在自动浏览器中( O)navigator.webdriver,如同在情景运行和代理被套用的情况下,覆盖开始隐藏,所以它远离截图和自带;切换键仍然显示它 devOverlay({ open: true }) 保持可见。 在0.15之前,它也开始在那里开放.
工具栏有暂停、步骤、速度(1x、1⁄2x、1⁄4x), 响起 (下载当前框架作为PNG), 建议 财务报告和审定财务报表 剪贴板 (保留最后15 s 并保存为视频) .debuff/captures/,用于 devlogs,存储页面和 debuff ship press; 于0.26中添加 重新启动 (再入现相. 下面是四个标签:
- 每平方英尺:一个以健康为色的帧图:石灰是准时的,琥珀有点晚(正常显示快活)而红色是一个被丢掉的帧. 从0.28起,它也说,当至少1000个宝石,以及至少一半所画的宝石,在取景地外降落(测量了60个框架). 更新和渲染时间被堆放在每个栏内 。 一份摘要显示您的头室,以及最近的被丢帧是来自游戏自己的作品还是外部(GC,浏览器,其他标签). 单击一栏暂停并检查带有平字诊断的框架, 或勾选 在空出框上暂停。阶段也显示为
debuff:update财务报告和审定财务报表debuff:render在浏览器配置器中. - 曲调: 每张幻灯片
game.params组合。 从他们的默认值变成琥珀值 双击名称以重设,以及 复制更改 复制您的更改,准备粘贴到参数定义中. - 状态: 你的场景
inspect()数据及插件快照,更新活性. - 日志: 键入出错
debuff dev检查(重复倒入一张卡片中,只有测试文件中的错误被贴上标签并变音,已知代码提示固定,每张卡片都有 代理服务器副本),运行时出错,每个被标注的都是谁的问题(您的代码,一个调用已拒绝,一个调用被调用被调用被调用,一个调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被调用被 还有一个活动日志,记录谁用倒数改变什么(你、代理或情景),并注明您可以给代理标记. 保存重播 财务报告和审定财务报表 复制重放 将迄今为止的会议变成一种情景:debuff scenario弹回来准确,和 保存为情景 写给scenarios/(通过)debuff dev),结尾有被捕获,作为回归测试. 这个 时间表 滑动倒取:拖入任意一勾,页面再加载,再播放您对该勾的输入,然后暂停在那里。 再次拖曳返回, 直到您从前面的位置继续播放 .
让你的位置重新装入
下 debuff dev,编辑您的代码后,不再将您送回开始。 就在页面重新加载之前,dev工具会保存会话输入. 新的代码然后把它们重放到您所玩的勾当上(不画画,一般为每百个勾当中几毫秒),游戏继续运行,如果被暂停,则保持暂停. 日志上说重播花了多久.
因为投入被重播 新设 代码,一个对游戏玩法的改变 显示在您所在的位置: 降低运行速度,玩家将处于新的速度。 你拿着的钥匙在重播后就松了 过 devTools({ input, keepState: false }) 把它关掉.
代理链接
下 debuff dev时,页面会收听来自 @debuffjp/mcp 在Dev服务器上,所以代理工作 在游戏你正在看。 过 agentLink: false 选择退出.
WebMCP( 实验性)
从0.29起,当浏览器已经 document.modelContext,dev钩注册为 网络MCP 工具,所以浏览器代理可以在没有MCP服务器的情况下玩游戏: game_state, (中文(简体) ), game_step, (中文(简体) ), game_pause, (中文(简体) ), game_input, (中文(简体) ), game_command, (中文(简体) ), game_params, (中文(简体) ), game_set_param, (中文(简体) ), game_capture, (中文(简体) ), game_errors 财务报告和审定财务报表 game_notes。它们的名称和论据与 @debuffjp/mcp没有API,这没什么用。 过 webmcp: false 选择退出.
打开页面 ?debuff-scenario 因此时间只能通过 step()。 。 。 . debuff scenario 使用此模式.