/**
* Custom options available when constructing a new {@link wcPlay} instance.
* @typedef {Object} wcPlay~Options
* @property {Boolean} [silent=false] - If true, will disable debug logging on all nodes.
* @property {Number} [updateRate=25] - The time, in milliseconds, between node updates.
* @property {Number} [updateLimit=100] - The maximum number of nodes allowed to be updated in a single update. This minimizes the potential for script lock.
* @property {Number} [flowTrackerLimit=1000] - The maximum flow trackers allowed (tracks when flow chains have fully executed).
* @property {Boolean} [debugging=true] - If true, debug break toggles on individual nodes will trigger the script to pause. Turn this off during production.
*/
/**
* A 2D positional coordinate.
* @typedef {Object} wcPlay~Coordinates
* @property {Number} x - The horizontal coordinate.
* @property {Number} y - The vertical coordinate.
*/
/**
* A chain tracker object. This behaves a lot like a linked-tree.
* @typedef {Object} wcPlay~FlowTracker
* @property {wcNode} node - The node.
* @property {wcPlay~FlowTracker} parent - The parent tracker.
* @property {Function} [callback] - Optional callback handler to call when this tracked flow is finished.
* @property {wcPlay~FlowTracker[]} children - List of children that have spawned from this flow.
*/
/**
* Options for the trigger event.
* @typedef wcPlay~TriggerEventOptions
* @property {String} [name] - The event name to trigger (as displayed in the title between the parenthesis).
* @property {Object} [data] - Optional data to be passed into the activation method of all entry nodes triggered.
* @property {Function} [done] - An optional callback handler to call when chains have executed completely.
*/