- Submit many tasks to executor and then wait for them all to complete.
- Use WaitGroup
- SBB no longer stores params, instead accepts Params arg to render
- SBB keeps scratch variables local
- CPUInstancer keeps track of default params
- Separate #setup and #draw... functions in CPUInstancer
- Combine DirectBufferBuilder#updateAfterWriting with #intoDirectConsumer
- DirectVertexConsumer#split to distribute work
- Transform interface for grouping traits and combined behavior
- Move transforms to params, impl Transform
- Pass Params object to BatchingTransformers instead of SBB
- MappedBuffer no longer abstract
- Mappable interface used within MappedBuffer
- MappedBuffer is mapped before ctor
- No more subclasses, no more thin wrapping overrides
- Use try with resources for buffer mapping
- Better error handling with mapped buffers
- Unimplemented exception as a procrastination method
- MapBufferRange compat layer not needed, missed that
- Don't need MappedFullBuffer anymore
- Add guard for size in GPULightVolume#bind
- LightVolume#getStride not needed
- Replace usaged of GlError#poll with #pollAndThrow
- VecBufferConsumer doesn't need a format
- Move most user facing interfaces to flywheel.api package
- Refactor InstanceData to have no package private classes
- Remove 'I' prefix from many interfaces
- ILightUpdateListener -> LightListener
- IMultiProgram -> ContextAwareProgram
- IFlatLight -> FlatLit
- All materials use the same vertex format: UNLIT_MODEL
- RIP ChunkIter, may you rule over the depths of hell in peace
- Fix memory leak when instance worlds get reset
- Server worlds are not flywheel worlds
- Nothing to do on world load anymore
- An Engine is a MaterialManager and a RenderDispatcher
- Refactor InstanceManager's ctor to use the MaterialManager interface instead of the concrete type
- MaterialManagerImpl -> InstancingEngine
- Add skeleton for BatchingEngine
- Hack in InstanceWorld to switch between the 2
- Rename/move existing MaterialManager impl to new package
- IModels now accept a VertexConsumer
- IRenderState -> RenderType
- AbstractInstancer for dealing with InstanceData tidyness
- Alter crumbling renderer to match new system
- Add hack to keep track of bound atlas textures