Bug fixes/code enhancements: - [ ] https://playwright.dev/docs/intro playwright tests - [ ] look into small DOM manipulation + state sync libraries/ideas if they offer anything useful - [ ] compress svgs when storing in localstorage High priority - [ ] Multiple types of paths - bridges, roads, etc - [ ] Rotating text - [ ] Line tool - [ ] Settings menu - inverse scrolling - [ ] Redo path and boundary (x,y) when grid orientation is flipped - [ ] Text editing and better text interface (preferably in-line, but that may not be possible) - [ ] Redo stack Medium priority - [ ] Prevent SVG going fully offscreen - [ ] Shortcut help display - [ ] Help "?" to hover to get information about each layer/tool - [ ] Grid resizing - [ ] Readjust minimap viewbox on window resize Low priority - [ ] Make paths contours - [ ] Allow uploading object tileset - [ ] Area controls - move, copy+paste - [ ] Cross-layer contextual fill (stop filling at boundaries created in other layers) Low low priority - [ ] Nominal mobile support - very very nominal - [ ] Mouse scrollwheel (but not trackpad!) to zoom: these are potentially nigh-impossible; TBD Completed - [x] Figure out image metadata embeddings - [x] Figure out layers vs tools - [x] Allow configuring grid - [x] Shortcuts - [x] Export/import - [x] Flood fill - [x] Undo stack - [x] Floodfill undo - [x] Grid settings undo - [x] Welcome screen with information - [x] Erase text - [x] Warning before flipping grid axes/make it non-destructive - [x] Grid thickness customizability - [x] Saving state in-browser - [X] pinch to zoom - [X] scroll sensitivity should be lower when zoomed in, higher when zoomed out - [x] Minimap - [x] Multiple files - but handling 5MB limit - [x] Set initial page state based on known defaults - [x] lint and check code - [x] create/destroy hex objects to save space - save 3/5ths of the entire space, holy - [x] handle other results from https://jakearchibald.github.io/svgomg/. For a 5MB image: - [X] Remove unknowns & defaults ~800KB - can't. we need these attrs - [X] Shapes to (smaller) paths 300KB (polygons -> paths) - rounding gave most benefits. also this makes hex vertex logic much more complicated - [X] Round/rewrite paths 180KB - rounded to 2 decimals - [X] Merge paths 200KB (if even sensible) - makes no sense for this - [X] migrate to typescript - [X] Use data-attr for all additional attrs - [X] use a custom SVG metadata ns to store metadata, or dataset attr
Bug fixes/code enhancements:
High priority
Medium priority
Low priority
Low low priority
Completed