summaryrefslogtreecommitdiff
path: root/TODO.org
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.org')
-rw-r--r--TODO.org30
1 files changed, 13 insertions, 17 deletions
diff --git a/TODO.org b/TODO.org
index d761eb2..5476bb9 100644
--- a/TODO.org
+++ b/TODO.org
@@ -185,7 +185,7 @@
* Improvements
-** TODO Clean up imperative rendering API
+** TODO [#A] Clean up imperative rendering API
The functional, monadic rendering API is nice and clean, but the
low-level imperative API is very messy. Perhaps it could use some
syntactic sugar for all of the "call-with-foo" forms. Also, a
@@ -196,7 +196,7 @@
realize that writing custom low-level rendering routines will be
common enough to merit a nice API.
-** DONE Allow modules to declare state via signals, including OpenGL resources
+** DONE [#A] Allow modules to declare state via signals, including OpenGL resources
This is a tricky one. The major headache with my Lisp Game Jam
attempt was that the signal framework had to be abandoned
*everywhere* except the top-level environment of the script that
@@ -210,27 +210,23 @@
that all OpenGL resources *must* be declared as signals that wait
for the game loop to start before loading.
-** DONE Use a single OpenGL resource guardian structure
- This will deduplicate code amongst all Scheme data types that wrap
- OpenGL resources, because right now each one uses its own separate
- guardian.
-
-** TODO Separate vertex arrays from meshes
- Currently, a mesh is a vertex array. This is bad because vertex
- arrays are useful in situations where the static mesh abstraction
- isn't a good fit, such as with sprite batches. Therefore, a vertex
- array should have its own dedicated data type that both meshes and
- sprite batches use in their respective implementations.
-
-** TODO inotify-based live reloading
- Better than periodically making 'stat' calls in a loop.
+** DONE [#A] Implement sprite batch in terms of a mesh
+ Fix code that assumes meshes to be static, allowing for the dynamic
+ sprite batch use-case.
-** DONE Pure Scheme 4x4 matrix multiplication implementation
+** DONE [#A] Pure Scheme 4x4 matrix multiplication implementation
Guile 2.1.2's float unboxing optimizations should enable this to be
both fast and not allocate so much. The GSL dependency can be
removed (yay!) once this is complete. Be sure to use Guile's ,x
metacommand to view the disassembly to ensure that the necessary
optimizations are indeed being used.
+** DONE [#B] Use a single OpenGL resource guardian structure
+ This will deduplicate code amongst all Scheme data types that wrap
+ OpenGL resources, because right now each one uses its own separate
+ guardian.
+
+** TODO [#C] inotify-based live reloading
+ Better than periodically making 'stat' calls in a loop.
* Documentation