# NOW ## UI - Key selection in comp panel - Graph editor - Node loop detection (separate DFS (extra work) or be smart in recursion) - detect time-sensitive nodes in tree and display on timeline ## Compositor - Manage Resources - Samplers - Blender previews (important !) - 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 - Use BG thread to check timestamps for hot reloading - Data models - Dump and read back state, (de)serialization!!! - Pre-compose/Layer Groups (jokes -- can be completely UI side) - Motion blur - Non-negotiable - Text (idea: index-based evaluation in plugboard) - Non-negotiable - Shapes (idea: embed glisp :mmtroll:, need to inquire -- still a lot of friction for simple shapes if we don't also get the glisp gizmos) - Non-negotiable - External data driving (csv, json or something else?) -- use a node to select source ## Chores - Node groups # Later ## IO - File dialogues pending SDL3 - https://wiki.libsdl.org/SDL3/CategoryDialog - OIIO output for more than PNG's - don't care about video export -- leave it for ffmpeg ## 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 - Shaders were using SRELL, I'm not sure about this anymore because it throws. We are doing dynamic replaces so CTRE can't work. Might be forced to go with PCRE or Re2. - Viewport gizmos (Layer-specific & nodes -- can separate into different tools?) -- Not sure how to go about this - Baku vec2 drag is good, color drag is not so necessary because imgui has a good picker ## 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)