Why is a blockRenderer not able to use the viewModel of
With Loki Components, a certain block is able to be initialized as a Loki Component - adding Alpine.js logic on the frontend and adding a ComponentViewModel instance to the PHTML template ($viewModel). Within the template, the $childRenderer can be used to render child-blocks (and their templates). And that moment, the $viewModel variable is passed on from the parent block to the child-block, so that - within the child template - the $viewModel can be used as well.
Likewise, the template is also able to render a completely different block via $blockRenderer. However, at this moment, the $viewModel is not passed. Because the block template maps towards an HTML element in the browser DOM and because the HTML element is governed by a single Alpine.js template, it does not make sense to have another block re-use the same $viewModel. It easily leads to a state issue. Furthermore, passing a $viewModel might also destroy existing variables in the second block. Because of this, the design was to have the $blockRenderer not pass the $viewModel.