PlannerEntryBuilder<T> typedef
Builds a fully custom widget for a single timed event (#78) — and, reused as
allDayEntryBuilder, for a single all-day chip (#80). Supplied to the
Planner as entryBuilder; when non-null the planner layers a widget
overlay over the canvas and calls this for every (on-screen) event, sizing
and positioning the returned widget at the event's current on-screen rect so
it tracks scroll, zoom and drag in lockstep with the grid.
The overlay is purely visual — it is wrapped in IgnorePointer /
ExcludeSemantics, so every gesture (tap, double-tap, drag, resize,
long-press, right-click) and all accessibility actions fall through to the
package's existing recognizers and fire the usual onEntry* callbacks. The
builder therefore decides appearance only; interaction stays package-owned.
entry is the typed entry being drawn (read entry.data for the host's
metadata payload, #77); layout carries the on-screen PlannerEntryLayout
facts (size, overlap column, drag state) the builder needs to shed detail or
reflect the drag.
Implementation
typedef PlannerEntryBuilder<T> = Widget Function(
BuildContext context,
PlannerEntry<T> entry,
PlannerEntryLayout layout,
);