/** * A callback that takes no parameters, and returns nothing. * See the user for the description of what it should do. * @callback emptyCallback */ /** * A callback to perform a single step in a simulation. * @callback simulationCallback * @param {number} elapsedMillis The number of milliseconds to advance the simulation by */ /** * A callback to perform drawing operations on a canvas * @callback drawCallback * @param {external:CanvasRenderingContext2D} context The context to use for drawing */ /** * A function that compares two elements and returns a number that determines how they should be sorted. * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort Array.prototype.sort() at Mozilla Developer Network} * @callback compareFunction * @param {object} a * @param {object} b * @returns {number} * If compareFunction(a, b) returns less than 0, then a comes first. * If compareFunction(a, b) returns 0, then don't change the order of a relative to b. * If compareFunction(a, b) returns greater than 0, then b comes first. */ /** * A function that tests if a given coordinate can be travelled across. * @callback isWalkable * @param {number} x The position along the x-axis on a grid * @param {number} y The position along the y-axis on a grid * @returns {boolean} */