Note: This is initial proposal aimed to gather feedback. It is subject to change.
This is task to coordinate restructurization of majority of VSE code.
Goal is to break existing code to smaller files with relatively narrow scope, create layer isolating low-level BKE code from functions close to user (operators, RNA, drawing). There should be minimum functional changes in first stages, followed by cleanups with minor functional changes if necessary (logic consolidation).
- Maintainability in general
- To allow work on T59540, where it is important for drawing, RNA and operator code to follow exact same logic to produce correct results.
- Make it easier and cleaner to make changes in rendering code
Since this will be relatively large operation, it will have to be done in few stages:
- Move sequencer code from BKE.
- Split sequencer code into smaller chunks
- Rename / refactor sequencer code
- Move as much as possible lower-level code from operators and RNA.
- rB8ec6b34b8eb2: VSE: Move split operator logic to module code
- rB9e4a4c2e996c: VSE: Move remove gaps operator logic to module code
- sequencer_add.c (D9760: VSE: Refactor VSE strip loading code)
- sequencer_edit.c (got multiple smaller patches for this file as well)
- Refactor operator and RNA code moving remaining low-level logic. Aim for limiting logic to iteration and calling sets of functions from "libraries".
- rB13ca11ac52a8: VSE: Unify sequences collections API
- Add RNA API functions to sequencer API