45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# NOW
|
|
## Chores
|
|
- actually write the blending modes (everything is just alpha over right now)
|
|
- Node groups
|
|
|
|
## Compositor
|
|
- Manage Samplers -- (Resources in general)
|
|
- Blender previews (important !)
|
|
- 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 gizmos)
|
|
- External data driving (csv, json or something else?) -- use a node to select source
|
|
- Data model for comps
|
|
- Pre-compose/Layer Groups (jokes -- can be completely UI side)
|
|
- Motion blur
|
|
|
|
## UI
|
|
- Viewport gizmos (Layer-specific & nodes -- can separate into different tools?) -- Not sure how to go about this
|
|
- Node loop detection (separate DFS (extra work) or be smart in recursion)
|
|
- detect time-sensitive nodes in tree and display on timeline
|
|
- Key selection in comp panel
|
|
- Graph editor
|
|
|
|
# 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
|