text: // local dependencies
  import store from '../../store/store';
  import C from '../../constants/constants';
  import { updateMousePosition } from '../../util/helpers';
  
  /**
   * Simulate a mouse event on the coordinates provided by an event's `clientX` and
   * `clientY` coordinates. Additionally, `debug` can be enabled to see the cursor position.
   *
   * @module simulate
   * @param {string} type - The type of mouse event to simulate.
   * @param {object} event - A mouse event that is used for trigger an event.
   * @param {object} event.clientX - The screen space x-coordinate.
   * @param {object} event.clientY - The screen space y-coordinate.
   * @param {boolean} [debug=false] - Allows to turn on the visuals for the `event`.
   * @returns {self} - Chainable api by returning the instance.
   *
   * @example
   * const event = { clientX: 500, clientY: 500 }; // sample event
   * $$$.simulate('click', event); // clicks the positions provided in the event
   * $$$.simulate('click', event, true); // enable cursor visual with `debug` set to `true`
   */
  export default function(type, event, debug = false) {
    const canvas = store.get(C.RENDERER).domElement;
    canvas.dispatchEvent(new MouseEvent(type, event));
    updateMousePosition(event, debug);
    return this;
  };
  
  
  