Expand description
Components for creating a desktop application that renders interactive all_is_cubes
content.
§Warning: Unstable! Dubiously designed!
This is not a good general-purpose library. It is primarily used
by the all-is-cubes
binary target in this package; it currently only exists as a library
so that additional development tools can reuse the same UI code. Use at your own risk.
Documentation is lacking.
Re-exports§
pub use glue::Renderer;
pub use glue::Window;
Modules§
- Logging. And terminal progress bars. And their cooperation.
- Headless output of images, video, or export data formats.
- Rendering as styled terminal text.
Structs§
- Wraps a basic
Session
to add functionality that is common within all-is-cubes-desktop’s scope of supported usage (such as loading a universe from disk). - Implementation of
all_is_cubes::util::Executor
for use with thetokio
runtime used byall-is-cubes-desktop
. - Ad-hoc struct of arguments to
inner_main
that can be constructed before choosing an event loop type. - An async task that constructs a
Universe
that will belong to aDesktopSession
, delivered viaInnerMainParams
.
Enums§
- Defines the clock for time passing in the simulation managed by a
DesktopSession
. - Source of the universe to create/load.
Functions§
- Choose a window size (in terms of viewport size) when the user did not request one.
- Main loop function that does nothing but run the simulation. Suitable for passing to
inner_main()
if integration with another event loop is not needed. - Given a
DesktopSession
and an event loop type already decided, run the remainder of main operations. - Load preferences/settings/config files from a platform-appropriate read/write location.
Type Aliases§
- Our concrete session type.