Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Modular UI compiler and runtime in rust. This crate can be used a fully functional GUI library (WIP) or as a framework for your own GUI library.
// ...
Runtime
Composables are defined as:
They can be created with the #[composable] attribute macro. Composable functions are only run in their parameters have changed.
Changelists for these parameters are passed down from parent to child in the form of a bitfield changed
to avoid extra diffing.
If a value is already known to have changed, the child composable will skip storing that parameter and run its function.
However, if no parameters have changed, the composable will skip running its block.
To store parameters, the runtime uses an optimized gap buffer with groups. This enables composables that use parameters from their parents to skip storing data twice.
For example consider the following composable function:
This will typically store its label
and count
parameters right next to each other in the gap buffer as:
... | label: String | count: i32 | ...
However, if it's parent component already stored the label, this function will skip it:
button_row: button #1: button #2:
... | label: String | count: i32 | count: i32 | ...
Compiler
The compiler comes in the form of the #[composable]
attribute macro.
For example:
Remember
A more advanced example of the compiler is the built-in remember
composable function.
This function will store a parameter inside a composable and ensure it never changes.
// Will become: