The widget half of the widget catalogue's later work, ported onto
makepad-widgets-core and the family crates.
- libs/tween: a dependency-free tween and timeline engine -- nested
timelines with positions and labels, stagger, repeat and yoyo, seek and
reverse, time scale, a ticker with lag smoothing, a global pause and
reduced motion, colour-space interpolation, keyframes and motion paths.
The core binds it to the widget tree (tween, a widget's TweenHost),
gives script a mod.tween (tween_script) and a live inspector
(tween_inspect, tween_inspector). The Animator's Ease now answers from
the engine's easing, so the curves have one source; the Animator keeps
its states, its keyframe timelines and its own clock.
- libs/gizmo and a Gizmo3d / ViewCube widget.
- core: the ease editor, the sequencer, diagonal headings, hotkeys, the
hotkey editor and keyboard map, the overlay layer host, a conceding row
and the width a widget would take without drawing; a theme mix and a
person's own theme edits that survive a style reload (theme_mix,
set_theme_edit), both taken off by set_base_theme.
- the surface material: buttons, check boxes, toggles, sliders and knobs
carry the moulded material behind one uniform, a press idiom per sign
of material_press, and four sheets that raise it: neumorphic, molded,
glossy and milled.
- the sheets: a row of fields is one height under every sheet. A sheet
line that names a widget the app did not register (a family left out)
is skipped when the sheet installs, so the date fields a sheet sizes
need the dates family only where it is linked.
- extras: the gradient editor, registered with the colour picker it
builds on.
- tweaker: the designer (a widget's literal located and edited in its
source as hunks), the theme lab and the theme builder. The window reads
the docked panel's band through the tweaker's hooks.
- the panel no longer wears the app's theme (the design surface keeps
its own palette), so the worn-theme tests go with it.
Five theme builder tests fail here as they do on the branch this comes
from (every_built_theme_reads and four more on text contrast);
radial_menu's tab_under_an_open_menu_finds_nowhere_to_go fails here as it
does on dev.