From c9dda6ab59da70a950127349a3a08688d2dcbcda Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 25 Mar 2023 14:16:45 -0400 Subject: Update TODO list. --- TODO.org | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/TODO.org b/TODO.org index e02c34b..8edf533 100644 --- a/TODO.org +++ b/TODO.org @@ -1,4 +1,9 @@ * 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 @@ -34,18 +39,20 @@ Goals: (define (sprite-fragment (vec2 ))) #+END_SRC -** TODO [#A] Switch from OpenAL to custom Scheme mixer -I've decided that OpenAL is too high level to be a library that -Chickadee should rely upon, since part of the goal of Chickadee is to -implement as much as possible in Scheme and only resort to C if -absolutely necessary. Instead, we can use SDL2's cross-platform audio -API and implement all the audio mixing directly in Scheme. ** TODO [#A] Ditch the readline dependency Figure out how to get back to using Guile's built-in REPL for =chickadee play= so the custom can go away. Readline is hard to make work in an async manner. +** TODO [#B] Framebuffer stencil issues +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] Texture fills for vector paths ** TODO [#B] Even-odd rule fills for vector paths Right now only the non-zero rule is supported. @@ -59,6 +66,17 @@ 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] 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 +thickness of the line, the length of the miters in a polyline, or the +end caps. +** TODO [#C] Switch from OpenAL to custom Scheme mixer +I've decided that OpenAL is too high level to be a library that +Chickadee should rely upon, since part of the goal of Chickadee is to +implement as much as possible in Scheme and only resort to C if +absolutely necessary. Instead, we can use SDL2's cross-platform audio +API and implement all the audio mixing directly in Scheme. ** TODO [#C] Binary bundles for MacOS ** TODO [#C] GPU pipeline data structure Like this: https://reader.tymoon.eu/article/363 -- cgit v1.2.3