Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

mudlet-map-renderer

Delwing42MIT0.0.25

Mudlet map rendering library. Can be used in Node.js and in browser.

mudlet, map, mud

readme

Mudlet Map Renderer

Mudlet map rendering library. Can be used in Node.js and in browser.

Until version 1.0.0 API is subject of change. Use with caution!

TODO

  • <input disabled="" type="checkbox"> Publish some examples (with data)
  • <input disabled="" type="checkbox"> Convert to .ts
  • <input disabled="" type="checkbox"> Document functions
  • <input disabled="" type="checkbox"> Add test
  • <input disabled="" type="checkbox"> Add lint
  • <input disabled="" type="checkbox"> Align model with mudlet-map-binary-reader

Very basic example

const fs = require("fs");
const { MudletMapReader } = require("mudlet-map-binary-reader") //npm mudlet-map-binary-reader
const { Renderer, MapReader } = require("mudlet-map-renderer")

let map = MudletMapReader.read("./data/map.dat");
MudletMapReader.export(map, "./data");
let mapData = require("./data/mapExport.json");
let mapColors = require("./data/colors.json");

let reader = new MapReader(mapData, mapColors);

const roomId = 1;
const scale = 40;
let area = reader.getAreaByRoomId(roomId);
let settings = { scale: scale }
let renderer = new Renderer(null, reader, area, reader.getColors(), settings);
fs.writeFileSync("mapFull.svg", renderer.exportSvg());
fs.writeFileSync("mapFragment.svg", renderer.exportSvg(roomId, 10));
console.log("Map generated");

Settings and their default values

class Settings {
    isRound = false;
    scale = 55;
    roomSize = 10;
    exitsSize = 2;
    borders = false;
    frameMode = false;
    areaName = true;
    showLabels = true;
    uniformLevelSize = false;
    fontFamily = 'sans-serif';
    mapBackground = "#000000";
    linesColor = '#FFFFFF';
    transparentLabels = false;
    emboss = false;
}

changelog

0.0.24

  • respect room weights

    0.0.23

  • do not draw path fragments no on the level of displayed area

0.0.22

  • handle not existing paths

0.0.21

  • fixes in special links to other areas
  • add controls for paths

0.0.20

0.0.19

  • add path renders

0.0.18

  • drag event will be fired actually on drag not only on release

0.0.17

  • fix emboss

0.0.16

  • add emoss setting
  • add drag event

0.0.15

  • additional fix for custom exit lines exit

    0.0.14

  • add area change clicks on custom exit lines

    0.0.13

  • add line color (experimental)

0.0.12

  • try to limit label font size to fit within label bounds

0.0.11

  • another fix frame mode for background selection

0.0.10

  • fix frame mode for background selection

0.0.9

  • add transparent labels option

0.0.8

  • remove wrong limits for drag

    0.0.7

  • fix renderer compliation error

    0.0.6

  • fix controls error when zooming out max
  • make JS code not use experimental features

    0.0.5

  • add limit function for areas

0.0.4

  • fix exports

0.0.3

  • add option to set font and background color
  • multiple fixes

0.0.2

  • add option to set font for text labels
  • fix README example

0.0.1

  • initial release