- ColumnResizer: handleMouseMove завершает перетаскивание, если левая кнопка не зажата
- cellMemoReset.test: убран дубль теста columnSizing, добавлены характеристики закрепления второй колонки и скрытия закреплённой
- комментарии к columnFilters (триггер React.memo(TableHead)) и ссылки на архивную спеку
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Закрепляет первую колонку данных FORM_2/AHR (rf), тянет её границу 50×(+4 px) и 50×(−4 px)
с ожиданием кадра, после отпускания проверяет примыкание td[data-pinned].
Для сборки базы (без data-col-resize-id) — запасной поиск ресайзера. Замеры не запускались.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
tableColumns = [...columns] пересоздаётся по ключу сброса (utils/cellMemoReset.js);
ширины закреплённых колонок входят в ключ по отпусканию мыши (design.md D1, D2).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
isResizingColumn выставляется на mousedown и снимается по mouseup, blur окна
и размонтированию: пока тянут, MRT замораживает тело таблицы (design.md D3).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
План: 6 задач исполнителей (haiku: 1–2, sonnet: 3–6), финальное ревью opus,
PR в feat/226-aurora-1837-cell-styles-css и точка ожидания замеров.
Решения стадии плана дописаны в design.md (13–17).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Решения 28.10: пороги производительности — цель, недобор в follow-up;
машина замеров Apple M4, пороги абсолютные; замеры выполняет контроллер
после ночного прогона; пустая полоса при перетаскивании по умолчанию
принимается как штатное поведение MRT.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Мемоизация ячеек таблицы листа (memoMode 'cells') с явным сбросом
по раскладке закреплённых колонок и фильтрам, контракт для правок
таблицы, критерии и сценарии замера.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>