Skip to content

Documentation / @debuffjp/dev / DevHooks

Interface: DevHooks ​

Defined in: dev/src/index.ts:42

The dev inspection and control surface, available as window.__DEBUFF_DEV__ in dev builds. Every method takes and returns JSON-serialisable values so browsers, CLIs and agents can call it.

Properties ​

controlled ​

readonly controlled: boolean

Defined in: dev/src/index.ts:45

True when the page was opened with ?debuff-scenario: the loop is stopped and time only advances via step.


version ​

readonly version: 2

Defined in: dev/src/index.ts:43

Methods ​

capture() ​

capture(): string

Defined in: dev/src/index.ts:94

PNG data URL of the current frame.

Returns ​

string


command() ​

command(name, ...args): unknown

Defined in: dev/src/index.ts:104

Run a game command, e.g. to start a scenario at a checkpoint. Recorded in replays.

Parameters ​

name ​

string

args ​

...unknown[]

Returns ​

unknown


commands() ​

commands(): string[]

Defined in: dev/src/index.ts:102

Names of the commands the game registered with devTools({ commands }).

Returns ​

string[]


errors() ​

errors(): ExplainedError[]

Defined in: dev/src/index.ts:92

Runtime errors since load, explained: kind says whose problem it is ("your-code", "debuff-usage", "debuff-bug", "outside"), where points at the game's source, hint suggests a next step. Repeats are counted.

Returns ​

ExplainedError[]


events() ​

events(sinceTick?): GameEventRecord[]

Defined in: dev/src/index.ts:80

The latest game events (game.emit), oldest first, optionally only those after sinceTick.

Parameters ​

sinceTick? ​

number

Returns ​

GameEventRecord[]


frames() ​

frames(n?): FrameSample[]

Defined in: dev/src/index.ts:63

The latest n frame breakdowns (update/render ms, steps, quads, draw calls, long tasks), oldest first.

Parameters ​

n? ​

number

Returns ​

FrameSample[]


keepForReload() ​

keepForReload(): void

Defined in: dev/src/index.ts:85

Save the session for a state-preserving reload (the debuff dev client calls this just before a code change reloads the page). After the reload the new code replays it to the same tick.

Returns ​

void


luminance() ​

luminance(cols, rows, region?): number[]

Defined in: dev/src/index.ts:100

The current frame's relative luminance (0 black to 1 white, WCAG), averaged over a cols × rows grid, row by row. region ([x, y, w, h] in logical units) samples part of the screen. For flash and contrast checks in scenarios.

Parameters ​

cols ​

number

rows ​

number

region? ​

[number, number, number, number]

Returns ​

number[]


notes() ​

notes(): Note[]

Defined in: dev/src/index.ts:87

Moments the human flagged in the overlay, with the game state at that tick.

Returns ​

Note[]


params() ​

params(): Record<string, ParamDescription>

Defined in: dev/src/index.ts:60

Returns ​

Record<string, ParamDescription>


pause() ​

pause(): DevState

Defined in: dev/src/index.ts:49

Returns ​

DevState


pointerDown() ​

pointerDown(x, y): void

Defined in: dev/src/index.ts:57

Parameters ​

x ​

number

y ​

number

Returns ​

void


pointerMove() ​

pointerMove(x, y): void

Defined in: dev/src/index.ts:58

Parameters ​

x ​

number

y ​

number

Returns ​

void


pointerUp() ​

pointerUp(): void

Defined in: dev/src/index.ts:59

Returns ​

void


press() ​

press(code): void

Defined in: dev/src/index.ts:53

Parameters ​

code ​

string

Returns ​

void


profile() ​

profile(): Report

Defined in: dev/src/index.ts:68

myaku's report: frame-time percentiles, hitches per minute, and the worst hitches explained (cause, confidence, the script to look at, a hint), with debuff's update and render as spans.

Returns ​

Report


release() ​

release(code): void

Defined in: dev/src/index.ts:54

Parameters ​

code ​

string

Returns ​

void


replay() ​

replay(toTick?): Replay

Defined in: dev/src/index.ts:73

Everything played since page load (keys, pointer, param changes) up to toTick (default: now), as a scenario that replays it exactly. Pass a note's tick to get the session leading up to that note.

Parameters ​

toTick? ​

number

Returns ​

Replay


resume() ​

resume(): DevState

Defined in: dev/src/index.ts:50

Returns ​

DevState


rewind() ​

rewind(tick): void

Defined in: dev/src/index.ts:78

Reload and replay this session's inputs to tick, then pause there: the exact state at that moment. Within the known session you can go forward again, until new play branches off.

Parameters ​

tick ​

number

Returns ​

void


setParam() ​

setParam(group, key, value): void

Defined in: dev/src/index.ts:61

Parameters ​

group ​

string

key ​

string

value ​

ParamValue

Returns ​

void


speed() ​

speed(scale): void

Defined in: dev/src/index.ts:52

Simulation speed multiplier (1 = normal).

Parameters ​

scale ​

number

Returns ​

void


state() ​

state(): DevState

Defined in: dev/src/index.ts:48

Returns ​

DevState


step() ​

step(steps?): DevState

Defined in: dev/src/index.ts:47

Advance steps fixed simulation steps (pausing first) and return the new state.

Parameters ​

steps? ​

number

Returns ​

DevState


tap() ​

tap(x, y): void

Defined in: dev/src/index.ts:56

Press and release the primary pointer at logical coordinates across one step.

Parameters ​

x ​

number

y ​

number

Returns ​

void