b35b97ca6d
Two bugs in the folded-thinking rendering path: 1. Cache invalidation: changing folded_thinking did not invalidate cached cell renders because the cell revision stayed the same. Now track folded_cells in the cache and force re-render when it changes. 2. Index mapping: in the slow path (with collapsed cells), the cache idx is a filtered position, but folded_cells uses original virtual indices. Add original_index_map parameter to ensure_split so fold lookups resolve correctly. Added two regression tests: - folded_thinking_cache_invalidation: verifies fold/unfold triggers re-render - folded_thinking_with_collapsed_cells_uses_original_indices: verifies correct fold behavior when collapsed_cells filtering is active