Refactor nannou
crate in terms of bevy
and new bevy_nannou_*
plugins
#956
Labels
nannou
crate in terms of bevy
and new bevy_nannou_*
plugins
#956
After the major plugin work is complete (i.e. #954, #955 and others introduced in #952), the idea is to simplify the
nannou
crate by wrappingbevy
with our new plugins and removing all our custom application and event loop logic to ease nannou's maintenance burden.The ideal goal is to enable an API as close as possible to the original in order to reduce breakage and churn around existing projects and examples.
This will likely require some consideration around the
nannou::App
andFrame
types. We should review their uses throughout the examples to guide how we go about this."Sketches" and "Apps"
Most examples fall into two categories:
view
function).model
,update
,view
and occasionally other event functions).We might want to consider only providing the short-hand for sketches, and for
App
s which tend to be more sophisticated, encourage using a more standard bevy structure? This comes to mind as nannouApp
s tend to be quite similar to bevy apps in structure, though strictly less flexible than the bevy modular system approach. All that said, it might still be worth providing a basicApp
wrapper to avoid having users need to think about bevy's resource system. It's wroth keeping in mind the more we wrap bevy with higher-level app abstractions, the more of a maintenance burden we'll undoubtedly add back into nannou.The text was updated successfully, but these errors were encountered: