~mil/mepo

ad8620296297531f1bdbf3600ad9c2290550346b — Miles Alan a month ago 3074925
Update roadmap for milestone 1 with current status

Mark as done rather then markdown strikethrough since strikethrough doesn't
render in srht
1 files changed, 29 insertions(+), 23 deletions(-)

M README.md
M README.md => README.md +29 -23
@@ 77,29 77,35 @@ search scripts, bookmarks, and more.

## **Roadmap to 1.0 release:**
- **Milestone 1: Overall Stability**
  - Improve current stability of the application and resolve intermittent
    crashes related to tile downloading.
  - ~~Implement tile downloading retry logic & handle case where user is
    offline gracefully.~~
  - Error check invalid PNG tiledata received from tileservers & ~~loaded 
    from filesystem.~~
  - Resolve existing memory leaks in the application
  - ~~Rework consistency of allocator passing (e.g. remove ad-hoc allocators, 
    ensure all allocations based on using top-level allocator via arena
    allocation).~~
  - ~~Rework blitting logic to be more intelligent about not drawing offscreen
    entities & pins.~~
  - ~~Implement LIFO for downloading queue: viewport tiles should always take
    priority before long-queued offscreen tiles.~~
  - Refactor error handling logic and implement debug mode preference or
    similar to control verbosity of debugging STDERR messages.
  - ~~Implement togglable text debug message overlay to provide user feedback
    right in UI when operations like shellpipe fail.~~
  - Add togglable help text overlay to show current results of bind_key
    (keybindings table) mapping in UI.
  - ~~Fix bug where negative latitude values fail to round-trip between
    lat-to-y / y-to-lat conversion functions.~~
  - Provide an initial tag for package maintainers (0.1).
  - **Done:**
    - Improve current stability of the application and resolve intermittent
      crashes related to tile downloading.
    - Implement tile downloading retry logic.
    - Error check invalid PNG tiledata received from tileservers & loaded 
      from filesystem.
    - Rework consistency of allocator passing (e.g. remove ad-hoc allocators, 
      ensure all allocations based on using top-level allocator via arena
      allocation).
    - Rework blitting logic to be more intelligent about not drawing offscreen
      entities & pins.
    - Implement LIFO for downloading queue: viewport tiles should always take
      priority before long-queued offscreen tiles.
    - Refactor error handling logic & use utility function rather then zig
      dbg.
    - Implement togglable text debug message overlay to provide user feedback
      right in UI when operations like shellpipe fail.
    - Add togglable help text overlay to show current results of bind_key
      (keybindings table) mapping in UI.
    - Fix bug where negative latitude values fail to round-trip between
      lat-to-y / y-to-lat conversion functions.
  - **Todo:**
    - Implement debug mode preference or similar to control verbosity of
      debugging STDERR messages.
    - Resolve existing memory leaks in the application (mostly complete, need
      to do quality pass).
    - Handle case where user is offline gracefully (implement max retries?)
      and blit error message text to tile rather then infinetly retrying
    - Provide an initial tag for package maintainers (0.1).
- **Milestone 2: Offline Mode & Noninteractive Downloading**
  - Rework main application / boot logic to enable fully noninteractive mode
    (free of SDL/Video context) to allow for CLI-based downloading of tiles.