- Remove most NotNull annotations
- Automatically generate missing package-info.java files which contain
annotations to establish that everything is not null by default
- Remove CurseForge integration from build script
- Fix some other formatting
- Add concept of flags to TaskExecutor.
- Can raise and lower flags from any thread.
- Add TaskExecutor#syncTo
- Behaves much like #syncPoint, but exits early as soon as it detects
that the requested flag has been raised.
- Document all methods in TaskExecutor.
- Do not discard tasks when destroying a VisualizationManagerImpl.
- Use flags in VisualizationManagerImpl to track frame plan and tick
plan completion.
- Use flags in BatchingEngine to track stage buffering completion and
flush completion.
- Synchronization is now needed in BatchedDrawTracker#draw.
- Use flags in IndirectEngine and InstancingEngine to track flush
completion.
- Add unit tests to validate flag behavior.
- Rename OnMainThreadPlan -> SyncedPlan.