how this is built (and what a professional would do)
What a top professional would do that the brief didn't ask for. Start with the contract, not the graphics. A metaverse that every client (VR headset, terminal, agent, browser) can enter is a stream plus a pure function: world = f(stream). So the first artefact here is world.js, with no DOM, and the canvas, the terminal and the CLI are three projections of it. The second is the plugin interface, because "everything is buildable" is only true if the shipped features are written against the same interface you hand to others, so the swords, signs, sparks and follow bridges are all ordinary plugins.
The rawest material. The Jetstream commit stream and the DID. A DID is the only thing in atproto that is both globally unique and un-spoofable, so it seeds everything: position on the Street, building colour, and the sword. Nobody chooses a sword; it falls out of their identity.
What it is not, yet. Nothing here is written to anyone's PDS, so there are no persistent plots or shared plugin records. That is the next layer, and the shape of it is a net.bisks.hyperstreet.plugin record you publish and anyone's world can load.