Reminds me of Dubray's State Action Model (SAM)¹:<p><pre><code> V = f( M.present( A(data) ) )
</code></pre>
The view V (the "UI" on the left in the article) is computed from an Action started by the user and proposed (presented) to the model M, which decides whether to update; then a next-action predicate (function) may be called².<p>A React example is at <a href="https://medium.com/@metapgmr/new-react-implementation-for-the-sam-pattern-a7ff40015802" rel="nofollow">https://medium.com/@metapgmr/new-react-implementation-for-th...</a> (2023).<p>¹ <a href="http://sam.js.org/" rel="nofollow">http://sam.js.org/</a><p>² <a href="https://www.infoq.com/articles/no-more-mvc-frameworks/" rel="nofollow">https://www.infoq.com/articles/no-more-mvc-frameworks/</a>