To me, "Péter lát kint egy épületet" sounds more natural than "kint lát". Any other hungarians agree with me on this? The word order "kint lát" only sounds good when you'd like to emphasize that he sees it outside, not inside: "Péter kint lát egy épületet (, nem bent)" = "Péter sees a building outside (, not inside)"
If I say, "I see a building outside", it means that there's a building I'm seeing and the building is outside.
If I say, "Outside, I see a building", it means that I'M outside and while I'm out there, I see a building. (I think)
How do I distinguish these meanings in Hungarian?
In fact it's pretty hard to distinguish those meanings in English! I'm a native speaker and I hear your second sentence as synonymous with the first.
To give the second meaning in English you'd need to say something like "When I am outside, I see a building."
(As an aside, I'm curious about what building you would see inside another one...)
"Látok kint egy épületet." can mean both.
The best translation for "Outside, I see a building" I could think of is "Kintről látok egy épületet." = "I see a building from outside."
For me, "Péter kint lát egy épületet." is neither acceptable, however, I would prefer to say: "Péter egy épületet lát kint." As "lát" is a transitive verb, i.e. it requires an object, the object counts as an obligatory complement of the verb. However, the adverbial of place (AoP) is not required, so it just modifies the meaning of the verb. Now, in Hungarian, the obligatory complements are placed before the verb, whereas the modifiers are placed after it. So, "Péter egy épületet lát kint."
That means you would consider the sentence "Peti az állatkertben látott egy elefántot" incorrect as well, right?
Yes, in a separated one-clause sentence, the word order you used is unnatural. Of course, the presence of a context changes everything. Your sentence would be flawless in a context where the topic revolves around seeing elephants. "Peti az állatkertben látott egy elefántot, Marika meg a szafárin."