Понял, спасибо!
На всякий случай оставлю пару идей.
а) хранить ключевые точки-выборы ГГ, прокручивать состояния с самого начала(«вперёд» без отрисовки), и отрисовывать предпоследний n-1 кадр (односвязный список “только вперёд”)
б) хранить ссылку не только на следующий, но и на предыдущий кадр (а ля двусвязный список)
По сути каждый рут – это список кадров,
соответственно каждый выбор просто стыкует их вместе и хранится где-то в памяти