The com.ultikits.ultitools.abstracts.gui.declarative.core package provides the core building blocks for a declarative GUI system. It defines the relationship between Widgets, Elements, and RenderNodes, as well as state management and diffing mechanisms.
Key Class Hierarchies:
- Widget Hierarchy: The base
Widget class is extended by RenderObjectWidget, StatefulWidget, and StatelessWidget. - Element Hierarchy: The base
Element class is extended by RenderObjectElement and ComponentElement. ComponentElement is further specialized into StatefulElement and StatelessElement. - Diffing and Context: Includes
DiffResult (with inner classes RenderNodeMove and RenderNodeUpdate) for calculating UI changes, and BuildContext for maintaining the tree state. - State and Utilities: Includes
State<T> for managing component state, SlotKey for element identification, and VoidCallback for event handling.