Previous Entry Share Next Entry
2016-01

вундервафля

ура, оно мержает!

но блин, как же не хочется делать свой RichTextBox, но видимо придется(

This entry was originally posted at http://wizzard.dreamwidth.org/362887.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
jakobz March 25th, 2014
А чего ты там придумал такое с мерджем?

wizzard0 March 25th, 2014
я учитался разных стратегий мержа, и в итоге сделал что-то наподобие weave merge.

короче, текст состоит из run'ов вида {"id1": { {"text":"chars","attrs":{"bold":true}}, prev: ["id2", "id3"] } }
которые имеют известную избыточность на случай удаления run'ов (не хочу делать вырожденные run'ы длиной 0 как в Google Wave), мерж выполняется обычный 3-way, c примитивами "add/delete/replace", приоритет победителя сейчас берется по таймстампу, потом сделаю векторные часики.

после мержа получается месиво этих run'ов, и ацикличный граф ссылок "prev", к которому применяется топологическая сортировка, ну и результат рендерится.

вместо run'ов нормально смотрятся всякие a, img, но вот как представлять списки, таблицы и прочую иерархию - еще не решил.

Edited at 2014-03-25 04:48 pm (UTC)

jakobz March 25th, 2014
И в результате получается что-то типа многопользовательского редактора?

wizzard0 March 25th, 2014
Да

wizzard0 March 25th, 2014
ну а теперь надо сделать именно свою логику курсора, выделения и всего такого, потому что contentEditable на мобильниках выглядит отвратительнейше, равно как и вообще управление с клавиатуры.

неплохое управление для редактирования сложных структур данных есть, например, в touchdevelop. а тут хз пока что делать. буду еще в Metro-версию OneNote подсматривать.

sleepy_drago March 25th, 2014
ну вот прям сегодня делал мерж на 1775 файлов (маленький). Всего 100 конфликтов решаемых руками в разные стороны. и то я ходил советоваться/спрашивать тех кто легкой рукой делает в 10-100 раз более крупные =) так что safety first иначе не стоит даже пытаться.

udpn March 27th, 2014
Шота я чую мои эксперименты с мерджами как всегда слоупочат. Правда, я ещё в феврале начал.

  • 1
?

Log in

No account? Create an account