Parallelize forceatlas2 repulsion
Since the force computation steps in forceatlas2 are the longest but does not mutate layout.points
, the Bevy UI may not be blocked during this operation.
There could be a thread for forceatlas2 (force only, or everything?), with RwLocks and maybe channels. Force applying would block the UI, and layout mutation would block the layout computation.
Changes to the forceatlas2 crate may be needed. (create a LayoutPar
with RwLocks in its fields?)