Skip to content

Latest commit

 

History

History
142 lines (112 loc) · 4.93 KB

TODO.md

File metadata and controls

142 lines (112 loc) · 4.93 KB

TODO: This file is not 100% up to date. Sorry.

In Progress

TODO

  • Cleanup window mode compile time decision mess. :(

  • Combine RGB565 and RGBA8888 mode for fbdev backend

  • Put profiling behind feature flag

  • Put profiling behind command line flag

  • Fix mutability of self in Cheval::render()

post v0.3

  • Extract shared rendering functions -> RenderBuffer package

  • Replace :HACK: text effects with better version

  • Improve reporting of broken config files

  • Refactor FileCache::run

  • Remove unneeded copying from FileCache aka buffer bloat

  • Double check why outer FileCache needs to be Arc< Mutex< ... > >

  • Add sound effect support

    • Fix time expire sound to be more precise
  • Add event system

  • Soundbank element should own it's soundbank, and react to events

  • Extract ElementConfig parameters

  • Make FileCache watcher async

  • Optimise pathes to watch for FileCache notify

  • Use BakedExpression where sensible

    • Use BakedExpression for text position, and bounding box config
    • Use BakedExpression for text
    • Verify we use BakedExpressions everywhere
  • Fix missing initialization of active page for multi page configs

  • Cleanup config file selection, and error reporting

  • Make Windows work

    • Fix washed out colors on Windows
  • Persist variables in regular intervals

  • Enable debug frames via command line

  • Merge goto next&prev page into turn page with direction

  • Decide on http response for page changes

  • Fix default for bounding boxes

  • Change config format

    • Add general config section
    • Add support for multiple "pages"
    • Add support for default values for variables
  • Add more position modes, e.g negative values for "from bottom/right"

  • Add clipping at buffer edges

    • Add clipping for text
  • Auto reloading on config change

  • Make config loading more robust

  • Improve Debug and/or Display traits for elements

  • Allow parameters for windows

  • Add animations

    • Use spline/bezier based files for values
  • Add audio support -> is started

  • Allow elements to register for http (or just sign them up all)

  • Handle strings with whitespace in expressions

  • Make filename for png renderer configurable

Obsolete

~ - [#] Refactor Variable to allow baking of value ~

DONE

  • Extract http handling from cheval.rs
  • Remove actix, and use axum instead
    • Implement API in Axum
    • Remove Actix-web
    • Remove Actix
  • Fix cursor left & right on Windows
  • Add GosSub & Return for Page navigation
  • Add time to automatically trigger return from Page

Released in v0.2.0

  • Build packages automatically after push to github.

  • Use tracing for all debugging

  • Remember previous window positions for windows that are not currently used

  • Allow writing of png sequences for window mode png

  • Alpha handling should be correct now

  • Enable profiling via feature

  • Update packages

  • Merge, and kill multi-window branch for good.

  • Fix crash when moving right without pages

  • Upgrade edition to 2021

  • Allow window title prefix to be passed on command line

  • Add file watcher to FileCache to allow automatic updates

    • Poll files for changes
    • or: Use operating system to get notified about changes
  • Use file cache for image element, including hot reload

  • Replace/refactor LoadTextElement -> delete?

    • Removed Check file watcher (seems to be broken sometimes) (merge with FileCache?!)
  • Add multi line support to TextElement

  • Add text_lines_from_file to expressions to allow loading specific lines from file

  • Add text_from_file to expressions to allow loading text from file

  • Rename master branch to main

  • Merge multi-window branch

  • Add text effects (shadow, glow?) to text element

    • Add text shadow
    • Add text glow (:HACK:)
  • Send actual resulting value back when changing variables via http

  • Allow selecting of variable, and inc/dec of that selected variable

  • Fix set/inc/dec variable api to respond with resulting value (and name)

  • Allow incrementing & decrementing variable via http api

  • Fix alpha blending for blocks

  • Allow using css names for colors

  • Default to current directory for configuration

  • Use *config.yaml if exactly one matches

  • Check for config.yaml if config parameter is a directory

  • Make filepath in config file relative to config file

  • Allow keyboard input from console

  • Add support for animated images

  • Add visual countdown example

  • Fix http interface to allow setting of f32

  • Add support for default variable values from

  • Add BakedExpression

  • Add bounding box support for text rendering

  • Add timer element

  • Add http API (setVariable)

  • Implement font cache

  • Text rendering

  • Add clean error handling

  • Render to png