# NOW ## Chores - Blending modes - Node groups ## Compositor - Manage Samplers -- (Resources in general) - Blender previews (important) - Data model for comps - Dump and read back state, (de)serialization!!! - Non-negotiables: - Text (idea: index-based evaluation in plugboard) - Shapes (idea: embed glisp :mmtroll:, need to inquire -- still a lot of friction for simple shapes if we don't also get the glisp tools) - External data driving (json or something else?) - Pre-compose - Motion blur - Layer Groups (jokes -- can be completely UI side) ## UI - Viewport gizmos (Layer-specific & nodes -- can separate into different tools?) - Node loop detection (separate DFS (extra work) or be smart in recursion) - detect time-sensitive nodes in tree and display on timeline # Later ## Compositor - std::unordered_map -> std::flat_map pending compiler support - Simple 3D engine ## UI - Adapt nodes for shader graph -- code editor will be fine for now ## Audio - Wait for SDL3! - SDL_mixer will be able to do all of wav ogg flac mp3 opus, we live in good times - output needs to be handled differently (if we care at all -- likely not) ## IO - Video import (research opencv libavcodec etc) - maybe https://superuser.com/a/1397578 -- no portable way to get stdout, this is messed up - boost::process? idk, might as well just go through a file - File dialogues pending SDL3 - https://wiki.libsdl.org/SDL3/CategoryDialog - Down the road: OIIO output for more than PNG's - don't care about video export -- leave it for ffmpeg