О формате и использовании
Text Diff точно сравнивает строки без Unicode-нормализации: регистр, пробелы и табуляция значимы. LF, CRLF и одиночный CR считаются одинаковыми разделителями. Конечный перенос значим: его отсутствие отмечено в панелях и отчёте. Пустые строки сохраняются; конечный перенос не создаёт дополнительную фиктивную строку.
Как использовать
- Введите два текста или откройте локальные UTF-8-файлы любого расширения. Начальный BOM файла удаляется; ошибка чтения сохраняет прежний ввод. Замена непустого, в том числе пробельного, поля требует подтверждения. Пустая сторона означает добавление или удаление всего текста; два пустых текста равны.
- Расчёт выполняется в отдельном Worker через 300 мс после изменения. Нажмите «Сравнение», чтобы явно сравнить пустые поля. «Ввод текста» возвращает полные исходники без изменений. Панели расположены рядом от 768 px, на узких экранах — друг под другом. Вертикальная прокрутка синхронна, горизонтальная независима; табуляция отображается шириной 4. Стрелки циклически переходят между блоками.
- Блок — максимальная последовательность удалений и вставок между неизменёнными строками. Счётчики показывают блоки, добавленные и удалённые строки; замена учитывается как удаление плюс добавление. Строки замен сопоставляются по порядку. Подсветка фрагментов использует Unicode code points; при превышении её бюджета выделяется вся строка без потери точности сравнения.
- Лимиты: 1 МиБ UTF-8 и 20 000 строк на сторону, 4000 вставок + удалений, 1000 блоков, отчёт до 4 МиБ. Построчный алгоритм ограничен 1500 мс, Worker — 3000 мс. Подсветка: 4096 code points и 128 фрагментов на пару, 200 мс на документ. Превышение основных лимитов убирает результат и блокирует экспорт. Reset очищает обе стороны после подтверждения.