- recompute
mAreaExitson everywriteMap/writeMapToBuffercall so cross-area routing data stays in sync with the room graph. Mirrors Mudlet'sTArea::determineAreaExits: cardinal exits encode as[targetId, DIR_*]with DIR_NORTH=1..DIR_OUT=12, string-named special exits encode as[targetId, DIR_OTHER=13], and dangling or same-area exits are excluded. - recompute per-area spatial extents (
zLevels,min_x/max_x/min_y/max_y/min_z/max_z, and the per-ZxminForZ/xmaxForZ/yminForZ/ymaxForZmaps) on everywriteMap/writeMapToBuffercall so Mudlet's renderer gets the right bounding box and Z-level list after any editor mutation. MirrorsTArea::calcSpanin Mudlet'ssrc/TArea.cpp, including two C++ quirks: y is negated when stored on the area (area.min_y = -room.y), and thespan/posQVector3Dfields are deliberately left untouched because C++ never writes them either. Areas with zero rooms have their per-Z maps andzLevelscleared but their min/max preserved, again matching C++. - recompute
mpRoomDbHashToRoomIdon everywriteMap/writeMapToBuffercall so the room content-hash index stays in sync with the room graph. MirrorsTRoomDB::hashToRoomIDin Mudlet's C++ source. On load,room.hashis populated from the inverse of the on-disk index (the binary format carries hashes only on the map, not per room), so callers can treatroom.hashas the source of truth. On save, the index is rebuilt from each room'shashfield: rooms withundefined/''/nullare skipped, and colliding hashes log a warning with last-write-wins.mRoomIdHash(per-profile player cursor) is deliberately left alone — do not confuse the two. - callers that were maintaining
mAreaExits, per-area spatial extents, ormpRoomDbHashToRoomIdby hand will have their values overwritten — the computed values are now authoritative.
- remove
fsdependency from core modules; file I/O is now the caller's responsibility - add
readMapFromBufferandwriteMapToBufferfor buffer-based read/write without touching the filesystem readMapandwriteMapstill accept file paths but no longer bundlefsinternally- fix CJS named-export compatibility with Vite 8 / oxc pre-bundler
- fix export for Mudlet Map Renderer
- complete TS rewrite. !!! Broken export for Mudlet Map Renderer !!!
- json export will not remove pathwalking locks
- correct exports (so they will not break backward compatibility)
- correct docs picking up
- add room hash to reader export
- fix errors when pixmap is empty
- fix typo in .ts definition
- export for reader will export model and colors
- document export function
- package.json - switch "export" to "main"
- furhter exporting fixes
- fix json export
- code reorganization
- reading will now be based directly on qtdatastream user type
- added write method - it is now possible to write Mudlet map into binary from its model
- model map definition
- clone map model before doing export to prevent any changes to original model so it can be reused
- export map to Mudlet JSON map file
- adjust colors generation to adjust for envColors
- fix reading
mEnvColors - correct colors to match updated values
- initial relese