Gemini is not so rigorous with formatting as gopher; in Gopher, the different clients can format the paragraphs and do their own thing.
The TLS is the most problematic part, for me; as Gemini decided to go with TOFU, which is IMO horrible in web-like setting; and the TOFU itself is vaguely defined and the specs basically says "client and servers can ignore it or whatever". But it's simple indeed.
Most modern clients default to using TLS and failover to plain text as far as I know.
It is a shame that a lot of current Gopher users seem to be strongly against anything apart from standard Gopher, when the original authors of the protocol had much grander ideas for interactivity & visual interfaces. Sigh.
For anyone interested, the Gopher+ protocol doc never made it to a proper RFC, but is on github in a hyper-linked format to make it easier to read: https://github.com/gopher-protocol/gopher-plus/blob/main/gop...
https://github.com/gopher-protocol/gopher-plus/blob/main/gop... specifically mentions 3D representations of Gopherspace. They also provide provision for a "general purpose" scripting language - I think Javascript would fit the bill - there and in section 2.8