Check my bpmn auto layout implementation:
https://www.npmjs.com/package/bpmn-auto-layout-feat-ivan-tulaev