A helper format to make it easier to translate different resolutions of time (such as milliseconds, minutes, and days) across Banjo functions
A wrapper around the native EventTarget
that provides the more modern emit/off/on/once
API over addEventListener/dispatchEvent/removeEventListener
as well as improved IntelliSense
The core "game engine" in terms of responsibility. Features an emitter
that can be used across game concerns, a loop
that executes provided code, and an input/keyboard
handler
General purpose finite state machine pattern
General purpose higher-order functions such as debounce
and throttle
Information about Banjo itself
Event handling for generic game controllers
Event handling for keyboards
Constant values related to keyboard events and utility functions to help with "meta" state for keyboard events
Event handling for mice
A rate-limited loop pattern. Designed to execute an "update" function at a provided tick rate, and a "render" function at the user's monitor's refresh rate
Frequently used mathematic constants, usually related to circular values such as fractions/multiples of tau and conversions between radians and degrees
Functions to convert numeric values, such as circular conversions or value clamping
Easing or shaping functions that modify values between [0-1] in predictable ways
2D convex polygonal/circular representations and utilities for detecting and calculating various intersections and overlaps
3D matrix math utilities
4D matrix math utilities
Simple API wrapping around arbitrary pseudo-random number generation algorithms and their common utilizations (such as random integers and shuffling arrays)
2D vector math utilities
3D vector math utilities
A utility for creating object pool that utilize the proposed explicit resource management API to clear and restore objects to the pool when unused
Utilities for working with <canvas>
, OffscreenCanvas
, and web workers
Utilities for working with WebGL2RenderingContext
A generator-wrapped view into an array that allows jumping and infinite stepping through its contents, as well as basic array-like functions such as insertion, removal, and viewing at an index
Utilities for viewing performance timeline entries during selected time periods
General utility types for internal and external use
Configurable object that can manage executing functions under a variety of logical and/or timing constraints
Utilities to be run as part of a loading process, such as detecting the expected monitor refresh rate or loading audio/visual assets