Does mojito package up all the client code and ship it to the browser?
After the initial page rendering. Does Mojito package all the client affinity code and inject it to the browser? So if I invoke a client only controller action, it should not need to go to the server. This way the user will not notice any latency or require a network connection.
Yes and no. By default (in development mode) some dependencies are shipped immediately, but for example views or controllers are loaded when needed for the first time. When bringing your app to production, you should use mojito rollups or shaker. Shaker is the official rollup replacement and what you should use: https://github.com/yahoo/mojito-shaker
To be clear: Rollups means that you roll all your JS and all your CSS into one file each. Then this file is sent to the client at the beginning, who then has all files with client affinity from there on.