In the other thread, I raised that approach, but folks didn’t care for it, because the API would be too confining/specific.
My current approach supports either a SVG map that the terp builds based on seen/unseen rooms as a string, or a rasterized JPG/PNG map, with overlays (e.g. “you are here”).
In Glk, there’s a constant push-pull tension between letting the author control what the UI should look like (making the UI less customizable), vs. describing the UI semantically, letting the Glk application and/or the user decide what it looks like.