От скучных логов к кинематографичной 3D-анимации
Инструмент RepoRewind от разработчика Cristofervaltz предлагает революционный подход к визуализации эволюции проектов. Вместо анализа текстовых файлов с историей коммитов, система генерирует живую 3D-сцену на базе WebGL, где архитектура репозитория представлена в виде динамического графа. Пользователь может «путешествовать во времени», перемещая ползунок таймлайна, и наблюдать, как файлы появляются, исчезают или меняют структуру в ходе рефакторинга.
Визуальная иерархия и физика
Интерфейс использует цветовое кодирование для мгновенного считывания структуры проекта. Движок физики обеспечивает плавное изменение масштаба веток при перемещении по истории, а оптимизированный кэш предотвращает скачки верстки. Ниже приведена расшифровка визуальных элементов:
| Элемент | Цвет | Описание |
|---|---|---|
| Golden Root | Золотой | Корневая директория репозитория |
| Directories | Фиолетовый | Папки (кликабельны для сворачивания) |
| Collapsed Folders | Оранжевый | Свернутые директории с дочерними файлами |
| Source Files | Голубой (Cyan) | Исходные файлы кода |
Локальный AI-рассказчик на WebGPU
Ключевая особенность RepoRewind — интеграция WebLLM. Инструмент использует модели, квантованные до 4-бит (например, Phi-3 или Llama-3-8B), которые загружаются в кэш браузера (~1.5 ГБ) и работают непосредственно на стороне клиента. Это позволяет AI генерировать контекстные нарративы о том, что происходило в коде в определенный период, не отправляя ни байта данных на внешние серверы. Полная приватность кода гарантирована.
Быстрый старт и технические детали
Для запуска не требуется установка баз данных или API-ключей. Достаточно наличия Node.js v18+. Самый простой способ — выполнить команду в терминале любого Git-репозитория:
npx reporewind analyze
После запуска локальный сервер откроется по адресу http://localhost:3000. Инструмент написан на TypeScript (CLI на Node.js/Express) и React (фронтенд с Three.js и react-force-graph-3d). Проект распространяется под лицензией MIT, что делает его открытым для модификаций и внедрения в существующие CI/CD пайплайны.
Источник: Github ↗
