channelsFired property

List<String> get channelsFired

Which channels had something to say about this item.

The cheap question, kept apart from deltas because a list draws it on every row of every frame and deltas allocates. Nothing here builds a delta: it asks each channel whether it changed and takes its name. Events answer with EventChannel.significant — a row chip saying events over pure system chatter is the list restating the noise the verdict just learned to ignore.

Implementation

List<String> get channelsFired => [
  if (pixels?.changed ?? false) 'pixels',
  if (tree?.significant ?? false) 'tree',
  if (texts?.changed ?? false) 'texts',
  if (events?.significant ?? false) 'events',
];