Function initAppState: (opt: { canvas: HTMLCanvasElement touchToMouse?: boolean gamepads?: Record<string, GamepadDef> pixelDensity?: number maxFPS?: number buttons?: ButtonsDef }) => { canvas: HTMLCanvasElement buttons: ButtonsDef buttonHandler: ButtonProcessor loopID: null | number stopped: boolean dt: number fixedDt: number restDt: number time: number realTime: number fpsCounter: FPSCounter timeScale: number skipTime: boolean isHidden: boolean numFrames: number capsOn: boolean mousePos: Vec2 mouseDeltaPos: Vec2 keyState: ButtonState<Key, never> mouseState: ButtonState<MouseButton, never> mergedGamepadState: GamepadState gamepadStates: Map<number, GamepadState> lastInputDevice: "mouse" | "keyboard" | "gamepad" | null gamepads: KGamepad[] charInputted: string[] isMouseMoved: boolean lastWidth: number lastHeight: number events: KEventHandler<AppEventMap> sceneEvents: KEventController[] }