summaryrefslogtreecommitdiff
path: root/TODO.org
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2023-03-25 14:16:45 -0400
committerDavid Thompson <dthompson2@worcester.edu>2023-03-25 14:16:45 -0400
commitc9dda6ab59da70a950127349a3a08688d2dcbcda (patch)
tree1190b859fd7bfd759e7499110f90c7700ad79b53 /TODO.org
parentdb2c6ec9bc4d6b0026084b07705d421621858a48 (diff)
Update TODO list.
Diffstat (limited to 'TODO.org')
-rw-r--r--TODO.org30
1 files 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 =<image>= type that prints as =#<Image: /path/to/image.png>=
+** TODO [#A] CPU-side pixel buffer manipulation
+Make =<pixbuf>= 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