function TextureNode({ x, y, width, height }) {
  /**
   * @type {BoundingRectangle}
   */
  this.rectangle = new BoundingRectangle(x, y, width, height);

  /**
   * @type {TextureNode|undefined}
   */
  this.childNode1 = undefined;
  /**
   * @type {TextureNode|undefined}
   */
  this.childNode2 = undefined;

  /**
   * Identifier referencing an image or packed data
   * @type {number|undefined}
   */
  this.index = undefined;
}
A texture atlas is recursively broken down into regions of space called nodes.
Nodes contain either an image reference or child nodes.
@private
@constructor
@param {object} options An options object with the following properties:
@param {number} options.x The x-offset of the texture node
@param {number} options.y The y-offset of the texture node
@param {number} options.width The width of the texture node
@param {number} options.height The width of the texture node