There are a lot of different ways that a graph database can be considered TinkerPop-enabled and that definition has shifted and changed over the decade or so that TinkerPop has been around at this point. As a result, I can confirm your depiction of the interaction between Gremlin Console and a TinkerPop-enabled graph database is mostly correct but really just identifies one method by which that works. I say "mostly correct" because the Gremlin Console typically doesn't send bytecode, but the actual text of what is typed by the user before they hit enter - i.e. a script processed by the server. It further assumes that the Gremlin Console is configured for a :remote
connection and is not working in with a locally established graph.
Some graphs will work with a :remote
connection but not actually have a "Gremlin Server" in play...they will just implement Gremlin Server protocols and thus have their own method for handling those scripts.