Дмитрий!

Если позволите, я хотел бы высказать критическое замечание.
В иконах "имя ветки" Вы пишете Ветка 1, Ветка 2, Ветка 3 и т.д.
Возникает вопрос?
Какой смысл имеет ветка?
Какой смысл имеет Ветка 1?
Какой смысл имеет Ветка 2?
Какой смысл имеет Ветка 3?
Какой смысл имеет Ветка 4?

К сожалению, Ваше решение не дает ответа на этот важнейший вопрос.
Ветки получаются слепыми и превращаются в загадочный ребус.

Этот недостаток можно и нужно убрать.

--------

Но уважаемый Владимир Даниелович,  ведь в иконе "имя ветки" может
быть несколько строк, и никто не мешает использовать их для обозначения
смысла действий, выполняемых в ветке. А первая строка выполняет
роль метки и нужно, чтобы эта метка была более заметной.

--------

Нет, я не возражаю против обсуждения деталей и внесения исправлений.
Но сейчас, мне кажется, что главный вопрос - правильность и
надежность работы алгоритма перекодировки. А вот на эту тему замечаний
пока нет. А не узнав главного, имеет ли смысл хвататься за частности ?