//! Widgets: named assemblies of things the description already says. //! //! The third tier, between a primitive and `Region::Bespoke`. A primitive is //! drawn from scratch by every renderer and has to be something every host can //! honour; a bespoke region is one app's own and carries no contents the //! description knows. A widget is neither: a *name* over an assembly of members //! the vocabulary already has. //! //! Full argument: wiki `widget-tier`. //! //! # What is left here //! //! Glue, and only glue. The widgets themselves live in `quasi-basics`, which is //! where the carousel went once it had been proved against three real pages. //! Each module here is an Askama entry point: it turns whatever the templates //! happened to need into the widget's own types, renders the fragment, and //! stops. //! //! A widget that has never rendered anything is a guess about what the assembly //! needs, so a new one is welcome to start here and leave later. The carousel //! found a missing primitive on its way through //! (`makeover_layout::Image`, 0.21.0), which is the argument for proving one in //! an app before it becomes shared. pub mod carousel;