I suspect you are confused about what Remix is, unless I vastly misunderstand htmx.
By example, a request comes into my app's web server at `/posts/123`: how would htmx be involved at all in (1) understanding the request, and (2) generating the response? Remix isn't just client-side, it's also a server with routing and SSR.
Yes, the routing part isn’t covered by stock htmx but it can be shimmed server-side or client-side. The more “fundamental” bit as I understand it is that each logical/visible component is served by the server-side in a remix app as a separate, fully-rendered html component, instead of needing to render the entirety of the response to effectively obtain just a part of the view. Htmx provides that bit of the puzzle lending the remix-like aspect to a traditional server-side app.