diff options
| author | Levent Kaya <leventkayadev@gmail.com> | 2026-03-24 09:37:47 +0300 |
|---|---|---|
| committer | Levent Kaya <leventkayadev@gmail.com> | 2026-03-24 09:37:47 +0300 |
| commit | 7f4bf31a0ad660a06ca559107a36e1b78a4b277c (patch) | |
| tree | 3d55b8f85c4bf5b7354b0f7d9bc438c936702734 | |
| parent | 15760d2b9faa8fa5f358292fdc2cd1a231a98bdc (diff) | |
| -rw-r--r-- | docs/BACKLOG_2026.md | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/docs/BACKLOG_2026.md b/docs/BACKLOG_2026.md index 1322c38..cfef69c 100644 --- a/docs/BACKLOG_2026.md +++ b/docs/BACKLOG_2026.md @@ -1,49 +1,54 @@ # Backlog ## Patch + > v1.1.2 - critical bug fixes --[ ] Fix missing closing parenthesis in FBGL_F32RGBA_TO_U32 macro — currently fails to compile _bug_ --[ ] Fix fbgl_draw_line termination condition — breaks for lines with negative direction (right-to-left or bottom-to-top) _bug_ --[ ] Fix i_fbgl_sqrt_int — currently computes x*x (square) not sqrt, corrupting filled circle rendering _bug_ --[ ] Implement missing fbgl_clear — declared in header but has no definition; rename or alias from fbgl_set_bg _bug_ +- [ ] Fix missing closing parenthesis in `FBGL_F32RGBA_TO_U32` macro — currently fails to compile `bug` +- [ ] Fix `fbgl_draw_line` termination condition — breaks for lines with negative direction (right-to-left or bottom-to-top) `bug` +- [ ] Fix `i_fbgl_sqrt_int` — currently computes x\*x (square) not sqrt, corrupting filled circle rendering `bug` +- [ ] Implement missing `fbgl_clear` — declared in header but has no definition; rename or alias from `fbgl_set_bg` `bug` ## Minor + > v1.2.0 - input and window system --[ ] Fix fbgl_is_key_pressed consuming the keypress via fbgl_get_key — peek without consuming _bug_ --[ ] Add mouse input support — position, left/right/middle button state _feat_ --[ ] Implement fbgl_window_t API — fbgl_window_create, fbgl_window_destroy, clipped drawing within window bounds _feat_ --[ ] Add line thickness parameter to fbgl_draw_line _feat_ --[ ] Add fbgl_draw_triangle_outline and fbgl_draw_triangle_filled _feat_ --[ ] Add fbgl_draw_ellipse_outline and fbgl_draw_ellipse_filled _feat_ --[ ] Add fbgl_draw_arc primitive _feat_ +- [ ] Fix `fbgl_is_key_pressed` consuming the keypress via `fbgl_get_key` — peek without consuming `bug` +- [ ] Add mouse input support — position, left/right/middle button state `feat` +- [ ] Implement `fbgl_window_t` API — `fbgl_window_create`, `fbgl_window_destroy`, clipped drawing within window bounds `feat` +- [ ] Add line thickness parameter to `fbgl_draw_line` `feat` +- [ ] Add `fbgl_draw_triangle_outline` and `fbgl_draw_triangle_filled` `feat` +- [ ] Add `fbgl_draw_ellipse_outline` and `fbgl_draw_ellipse_filled` `feat` +- [ ] Add `fbgl_draw_arc` primitive `feat` ## Minor + > v1.3.0 - rendering quality --[ ] Add double buffering — off-screen back buffer with explicit fbgl_swap_buffers to eliminate tearing _feat_ --[ ] Add alpha blending / compositing — partial transparency instead of binary draw-or-skip _feat_ --[ ] Add clipping region / scissor rect support _feat_ --[ ] Add scaled texture rendering — fbgl_draw_texture_scaled(fb, tex, x, y, w, h) _feat_ --[ ] Add PSF2 font support alongside existing PSF1feat --[ ] Add polygon drawing — fbgl_draw_polygon_outline and fbgl_draw_polygon_filled with vertex array _feat_ +- [ ] Add double buffering — off-screen back buffer with explicit `fbgl_swap_buffers` to eliminate tearing `feat` +- [ ] Add alpha blending / compositing — partial transparency instead of binary draw-or-skip `feat` +- [ ] Add clipping region / scissor rect support `feat` +- [ ] Add scaled texture rendering — `fbgl_draw_texture_scaled(fb, tex, x, y, w, h)` `feat` +- [ ] Add PSF2 font support alongside existing PSF1 `feat` +- [ ] Add polygon drawing — `fbgl_draw_polygon_outline` and `fbgl_draw_polygon_filled` with vertex array `feat` ## Minor + > v1.4.0 - performance & dx --[ ] Add thread safety — mutex guards on g_keyboard_state and previous_frame_time globals _dx_ --[ ] Batch pixel writes with memset / SIMD where applicable for fbgl_set_bg and filled shapes _perf_ --[ ] Add dirty-rect tracking — only flush changed regions to framebuffer _perf_ --[ ] Add FBGL_NO_MATH compile flag to explicitly opt out of math.h dependency _dx_ --[ ] Add comprehensive error code enum — replace magic -1 returns with named codes _dx_ --[ ] Add debug logging mode with FBGL_DEBUG flag covering all drawing functions, not just fbgl_set_bg _dx_ +- [ ] Add thread safety — mutex guards on `g_keyboard_state` and `previous_frame_time` globals `dx` +- [ ] Batch pixel writes with `memset` / SIMD where applicable for `fbgl_set_bg` and filled shapes `perf` +- [ ] Add dirty-rect tracking — only flush changed regions to framebuffer `perf` +- [ ] Add `FBGL_NO_MATH` compile flag to explicitly opt out of `math.h` dependency `dx` +- [ ] Add comprehensive error code enum — replace magic `-1` returns with named codes `dx` +- [ ] Add debug logging mode with `FBGL_DEBUG` flag covering all drawing functions, not just `fbgl_set_bg` `dx` ## Major + > v2.0.0 - multi-display & extended formats --[ ] Multi-display support — manage multiple /dev/fbN devices simultaneously _feat_ --[ ] PNG texture loader alongside existing TGA — reduces external tooling dependency _feat_ --[ ] Sprite sheet / atlas support with UV rect selection _feat_ --[ ] TTF/BDF font rasterizer — remove hard dependency on PSF bitmap fonts _feat_ --[ ] Break fbgl_window_t into full sub-surface compositor with z-ordering _feat_ +- [ ] Multi-display support — manage multiple `/dev/fbN` devices simultaneously `feat` +- [ ] PNG texture loader alongside existing TGA — reduces external tooling dependency `feat` +- [ ] Sprite sheet / atlas support with UV rect selection `feat` +- [ ] TTF/BDF font rasterizer — remove hard dependency on PSF bitmap fonts `feat` +- [ ] Break `fbgl_window_t` into full sub-surface compositor with z-ordering `feat` |
