initGame(): events: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [string]gamepadButtonPress: [string]gamepadButtonRelease: [string]gamepadStick: [string, Vec2]gamepadConnect: [Gamepad]gamepadDisconnect: [Gamepad]scroll: [Vec2]add: [GameObj]destroy: [GameObj]load: []loading: [number]error: [Error]input: []frameEnd: []resize: []sceneLeave: [string]sceneEnter: [string]>objEvents: KEventHandler<GameObjEventMap>root: GameObj<TimerComp>gravity: Vec2 | nullscenes: Record<SceneName, SceneDef>currentScene: SceneName | nulllayers: string[] | nulldefaultLayerIndex: numberlogs: msg: string | time: number[]cam: pos: Vec2 | nullscale: Vec2angle: numbershake: numbertransform: Mat4
events: KEventHandler<mouseMove: []mouseDown: [MouseButton]mousePress: [MouseButton]mouseRelease: [MouseButton]charInput: [string]keyPress: [Key]keyDown: [Key]keyPressRepeat: [Key]keyRelease: [Key]touchStart: [Vec2, Touch]touchMove: [Vec2, Touch]touchEnd: [Vec2, Touch]gamepadButtonDown: [string]gamepadButtonPress: [string]gamepadButtonRelease: [string]gamepadStick: [string, Vec2]gamepadConnect: [Gamepad]gamepadDisconnect: [Gamepad]scroll: [Vec2]add: [GameObj]destroy: [GameObj]load: []loading: [number]error: [Error]input: []frameEnd: []resize: []sceneLeave: [string]sceneEnter: [string]>