Repository navigation
The terminal map could distort exit directions and overlap paths after the previous layout solver adjusted stored room coordinates. This change uses nelib for validated layout and drawing while Gotin retains room discovery, identity, JSON persistence, and undo.
- Draw immutable snapshots asynchronously, cancel superseded requests, and reuse completed drawings when panning or resizing.
- Show one-way compass arrows and remote layers; keep layout failures separate from recorded movement and preserve discovery coordinates during load and refresh.
- Remove the old layout solver, document the integration, and set a shared client version of 1.1.0 for GMCP, MXP, and the new
-versionflag. - Use the published
github.com/ayder/nelibmodule pinned tov0.0.0-20260922070606-7628807da8fc; no local replacement or sibling checkout is required. The companion library and integration API are published in nelib's initial commit.
Validation: race-enabled tests and go vet pass in both Gotin and nelib. Gotin builds using the downloaded GitHub dependency with GOWORK=off, and -version reports gotin 1.1.0. Live MUD behavior has not been tested. Layouts that cannot meet nelib's direction/crossing constraints or exceed its budget show an error without rejecting discovered rooms.