Zeenobit / moonshine_save

A save/load framework for Bevy game engine.
MIT License
81 stars 9 forks source link

Add `SavePipelineBuilder` and `LoadPipelineBuilder` #5

Closed Zeenobit closed 11 months ago

Zeenobit commented 1 year ago

Currently, the customization of save/load pipelines is not as ergonomic and efficient as it could be. Usage of remove_component is also inefficient when DynamicSceneBuilder has allow and deny methods to filter components without a removal pass.

SavePipelineBuilder and LoadPipelineBuilder types should be introduced to solve these issues.

SavePipelineBuilder should also define the DynamicSceneBuilder and pass it to the save pipeline, instead of save constructing one in place.

Zeenobit commented 11 months ago

LoadPipelineBuilder doesn't make much sense right now since load pipelines just read whatever was saved. Should revisit if there is a use case for customizing load process.