📖 updating readme, cleaning up finished ToDos

This commit is contained in:
Michael Straßburger 2016-11-08 15:10:57 +01:00
parent c206055596
commit 73a56dce9d

View File

@ -1,15 +1,19 @@
# MapSCII - The Whole World In Your Console. # MapSCII - The Whole World In Your Console.
MapSCII is a node.js based [Vector Tile](https://github.com/mapbox/vector-tile-spec) to [Braille](http://www.fileformat.info/info/unicode/block/braille_patterns/utf8test.htm) renderer for [xterm](https://en.wikipedia.org/wiki/Xterm)-compatible terminals. A node.js based [Vector Tile](http://wiki.openstreetmap.org/wiki/Vector_tiles) to [Braille](http://www.fileformat.info/info/unicode/block/braille_patterns/utf8test.htm) and [ASCII](https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange) renderer for [xterm](https://en.wikipedia.org/wiki/Xterm)-compatible terminals.
<img src="http://i.imgur.com/yYVt7No.png" width="100%" /> <img src="http://i.imgur.com/yYVt7No.png" width="100%" />
* Discover the globe or zoom in to explore your neighbourhood ## Features
* See Point-of-Interest around any given location
* Highly customizable layer styling with [Mapbox Styles](https://www.mapbox.com/mapbox-gl-style-spec/) * Use your mouse to drag and zoom in and out
* Compatible with Linux and OSX terminals, Windows support via [PuTTY](http://www.putty.org/) * Discover Point-of-Interests around any given location
* Connect to any vector tile server - or just use my custom [OpenStreetMap](https://en.wikipedia.org/wiki/OpenStreetMap) based one * Highly customizable layer styling with [Mapbox Styles](https://www.mapbox.com/mapbox-gl-style-spec/) support
* Work offline and discover local VectorTile/MBTiles * Connect to any public or private vector tile server
* Or just use the supplied and optimized [OpenStreetMap](https://en.wikipedia.org/wiki/OpenStreetMap) based one
* Work offline and discover local [VectorTile](https://github.com/mapbox/vector-tile-spec)/[MBTiles](https://github.com/mapbox/mbtiles-spec)
* Compatible with most Linux and OSX terminals
* Highly optimizied algorithms for a smooth experience
* 100% pure Coffee-/JavaScript! :sunglasses: * 100% pure Coffee-/JavaScript! :sunglasses:
## How to install ## How to install
@ -67,73 +71,33 @@ If your terminal supports mouse events you can drag the map and use your scroll
### TODOs ### TODOs
* MapSCII * MapSCII
* [ ] CLI support * [ ] CLI support
* [X] global linking for npm install -g
* [ ] startup parameters * [ ] startup parameters
* TileSource * [ ] TileSource
* [ ] VectorTile
* [ ] MBTile
* [ ] Tileserver
* [ ] Style * [ ] Style
* [ ] center position * [ ] center position
* [ ] POI filter? * [ ] zoom
* [ ] Viewport * [ ] demo mode?
* [x] start with zoom level which shows full
* [X] world
* [ ] vector tile
* [X] boundary based on current zoom & size
* [X] determain tiles to show
* [X] zoom while keeping center
* [ ] calculate tile areas
* [X] center based on mercator
* [x] handle console resize
* [ ] mapscii-server
* [ ] telnet
* [ ] ssh
* [x] handle console resize
* [ ] mouse control * [ ] mouse control
* [x] accurate mouse drag&drop with instant update * [ ] accurate mouse drag&drop with instant update
* [x] hover POIs/labels * [ ] hover POIs/labels
* [ ] hover maybe even polygons/-lines? * [ ] hover maybe even polygons/-lines?
* [ ] get hover lat/lng * [ ] get hover lat/lng
* [ ] zoom into mouse pos * [ ] zoom into mouse pos
* [ ] API
* [ ] setCenter
* [ ] setZoom
* Styler * Styler
* [x] compile filters to function chains * [ ] respect zoom based style stops
* [x] support constants
* [x] respect minzoom
* Renderer * Renderer
* [x] position tiles accordingly * [ ] polygons
* [ ] line drawing * [ ] holes
* [x] support for stroke width * [ ] use rbush?
* [ ] support for dashed/dotted lines?
* [ ] feature selection for priority rerendering (roads -> warter -> roads:bridges)
* [ ] label drawing * [ ] label drawing
* [x] support for point labels * [ ] multi line label?
* [x] dynamic decluttering of labels
* [x] centering text labels
* [x] clipping fix when x<0 after repositioning
* [ ] multi line label
* [x] label margin to avoid POI overlap?
* [ ] translatable raster fonts
* [x] filled polygons * TileSource
* [x] convert polygons to triangles * [ ] implement single vector-tile handling
* [x] use triangulation for filling
* [x] respect fill/line style file based setting
* Tile
* [x] directly throw away features that aren't covered by any style
* [x] TileSource class (abstracting URL, mbtiles, single vector tile source)
* [x] tile request system
* [ ] from single vector-tile
* [x] from local mbtiles
* [x] from remote url
* [x] permanent caching of received files
## License ## License
#### The MIT License (MIT) #### The MIT License (MIT)