This is a README file for an Obsidian plugin called "Advanced Canvas". The plugin adds various features to the canvas in Obsidian, such as:
* Custom styles: Users can add custom CSS styles to nodes and edges on the canvas.
* Custom colors: Users can add custom colors to nodes and edges on the canvas.
* Node interactions: Users can interact with nodes on the canvas, such as moving them around or resizing them.
* Edge interactions: Users can interact with edges on the canvas, such as dragging them to reposition them.
* Zooming and panning: Users can zoom in and out of the canvas using keyboard shortcuts or mouse gestures.
* Undo and redo: Users can undo and redo changes they make to the canvas.
* Read-only mode: Users can set the canvas to read-only mode, which prevents them from making changes to it.
The plugin also provides a range of events that plugins can use to interact with the canvas. These events include:
* `advanced-canvas:node-interaction`: Fired when a node is interacted with (e.g. moved or resized).
* `advanced-canvas:edge-interaction`: Fired when an edge is interacted with (e.g. dragged to reposition it).
* `advanced-canvas:undo`: Fired when the user undoes a change they made to the canvas.
* `advanced-canvas:redo`: Fired when the user redoes a change they made to the canvas.
* `advanced-canvas:readonly-changed`: Fired when the read-only state of the canvas changes.
* `advanced-canvas:data-requested`: Fired when the canvas data is requested (e.g. by another plugin).
* `advanced-canvas:load-data`: Fired when the canvas data is set.
* `advanced-canvas:canvas-saved:before` and `advanced-canvas:canvas-saved:after`: Fired before and after the canvas is saved.
The README file also includes a section on contributing to the plugin, which provides information on how to submit pull requests and issues. Additionally, there is a star history chart at the bottom of the file that shows the number of stars the plugin has received over time.