Transcript rows cache what they render from, which should reduce redraw cost.
What's wrong with this entry?
Each transcript row now caches a narrowed view of the data it renders from, rebuilt only when a generation counter changes and a deep comparison shows something it depends on actually moved. A rendering-cost change with no visible surface.
- The cached view covers sibling tool-use ids, progress messages, hook counts, tool results and uses, and the sets of resolved and errored ids.
firstTextBlockUuidByMessageID
Strings lifted out of the shipped bundle, so the claim above can be checked against them.