Frontmatter
| id | 2864 |
| title | Triangle-based worker communication for app => vdom => main => app |
| state | Closed |
| labels | enhancement |
| assignees | tobiu |
| createdAt | Feb 5, 2022, 3:32 PM |
| updatedAt | Feb 5, 2022, 4:51 PM |
| githubUrl | https://github.com/neomjs/neo/issues/2864 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 5, 2022, 4:51 PM |

In case we render & mount a component or in case we do a vdom update, the worker messages are running like this: app => main => vdom => main => app
We can reduce this to: app => vdom => main => app
To do this, we need to create a new
MessageChannelfor the vdom worker, similar to the ones for the canvas and data workers. However, we only need to register one port (since messages back from vdom still need to drop the deltas inside main).We still want to delay sending a reply from main to app until the deltas got processed by the
renderAnimationFramequeue.