bpmn-js is a browser-based BPMN 2.0 web modeler and rendering engine used for creating, editing, and visualizing business process models. It functions as an XML process modeler that parses BPMN 2.0 XML data into interactive visual diagrams within a web application.
The project distinguishes itself as a business process visualizer with capabilities for process flow simulation, which tracks token movement to mimic real-time execution. It also supports diagram version comparison to identify changes between model iterations and provides a layered overlay interface for binding metadata and custom UI elements to specific shapes.
The toolkit covers a broad range of modeling and rendering capabilities, including interactive model editing, visual model validation against predefined schemas, and the management of element properties via a dedicated interface. It features an extension system that allows for the integration of custom shapes, specialized logic modules, and custom visual styles.
The system utilizes SVG-based rendering and a command-pattern history tracking mechanism to manage modeling operations and their reversal.