From 310fe04dbaa6f95fdb2da50b1c6daa73148eec5d Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 23 Apr 2023 15:55:18 -0400 Subject: Update TODO. --- TODO.org | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'TODO.org') diff --git a/TODO.org b/TODO.org index f675972..0edfb5d 100644 --- a/TODO.org +++ b/TODO.org @@ -1,9 +1,4 @@ * Tasks -** TODO [#A] Images that can be rendered in Geiser REPL -Make == type that prints as =#= -** TODO [#A] CPU-side pixel buffer manipulation -Make == type and use it for all image loading/manipulation, -such as texture creation. ** TODO [#A] Bug: Vertical line rendering not working Vertical lines are invisible. Not great! ** TODO [#A] Improve window resizing support @@ -51,11 +46,16 @@ Render a vector path to a framebuffer and you'll notice that the first filled path doesn't show up. Why is this?? ** TODO [#B] Framebuffer multisampling Requires creating multisampled texture. -** TODO [#B] Dedicated audio thread -Allow use of (ice-9 futures) for parallelism? -** TODO [#B] Dedicated render thread -** TODO [#B] Worker threads -To parallelize image loading and such. +** TODO [#B] Multiple threads +SDL2 operates on the main thread, so that will control the game loop +and rendering. OpenAL is already using its own thread for audio. So, +what's needed is another thread for managing game state and some +number of generic worker threads to offload things like loading data +from the file system. Of course, this complicates things +significantly, so the API will have to be carefully designed to do all +the thread synchronization right so the user doesn't have to think +about it. Should I add a dependency on guile-fibers?? + ** TODO [#B] Texture fills for vector paths ** TODO [#B] Even-odd rule fills for vector paths Right now only the non-zero rule is supported. @@ -69,6 +69,7 @@ Allow more settings to be modified. Add angular velocity. Auto-expand to hold all particles rather than setting a hard cap upfront. ** TODO [#B] Support loading fonts from system font cache +** TODO [#C] Rename array-list-size to array-list-length ** TODO [#C] Bug: Bounding boxes for stroked paths are too small Not sure how to fix right now but the bounding boxes are too small because they only account for the points within a path, not the @@ -100,6 +101,11 @@ naive way that does not use physically-based equations. ** TODO [#C] Right-to-left text rendering ** TODO [#C] Top-to-bottom text rendering ** TODO [#C] Octree spatial partitioning +** DONE [#A] Images that can be rendered in Geiser REPL +Make == type that prints as =#= +** DONE [#A] CPU-side pixel buffer manipulation +Make == type and use it for all image loading/manipulation, +such as texture creation. ** DONE [#A] Fix 9-patch rendering not working with texture regions ** DONE [#A] Add #:clear-color argument to run-game ** DONE [#A] Tests for (chickadee math rect) -- cgit v1.2.3