It already exists for several popular frameworks/languages.
One example is [1] Laravel livewire.
One example is [1] Laravel livewire.
Here is some specific documentation pertaining to how it manages incremental DOM updates: https://blazor-university.com/components/render-trees/