Skip to content

feat(editor): integrate advanced workflows with kadr v0.4 - #8

Open
reg2005 wants to merge 41 commits into
HelpFreedom:mainfrom
reg2005:feature/editor-workflow-upgrades
Open

feat(editor): integrate advanced workflows with kadr v0.4#8
reg2005 wants to merge 41 commits into
HelpFreedom:mainfrom
reg2005:feature/editor-workflow-upgrades

Conversation

@reg2005

@reg2005 reg2005 commented Aug 16, 2026

Copy link
Copy Markdown

Русский

Этот PR объединяет расширенный kadr-custom с актуальным upstream/main и релизом v0.4.0. История исходной ветки PR сохранена, обновление выполнено обычным fast-forward без force-push.

Changelog

  • macOS и окна: нативное меню, упаковка приложения, независимые окна проектов и отдельное окно превью для второго монитора.
  • Таймлайн: прокрутка и pinch-масштаб, изменяемая ширина панели дорожек, главы, маркеры по клавише M, подсветка вставки, переименование дорожек и исправленные полосы прокрутки.
  • Задачи для агента: нерендерящиеся дорожки аннотаций со стабильными ID, статусами, историей, одним шагом undo и MCP-командами жизненного цикла.
  • Превью и визуальный контроль: редактирование объектов на холсте, адаптивная плёнка кадров, снимки и кэшируемые раскадровки для пользователя и агента.
  • Прокси и медиа: проверяемые и восстанавливаемые адаптивные 720p-прокси, сохранение альфа-канала, поддержка сложных кодеков и защита от повреждённого кэша.
  • Озвучка: запись с микрофона, корректная длительность WAV, F5-TTS, история дублей, библиотека голосов, клонирование голосов и точная вставка озвучки по субтитрам.
  • Переносимые проекты: сохранение зависимостей, ZIP-пакеты и исходники Remotion-фрагментов рядом с проектом с восстановлением рабочих ссылок.
  • Claude и MCP: сохранение сессии, карта возможностей редактора, главы, задачи, снимки, раскадровки и синхронизация проектных фрагментов.
  • Экспорт: переносимый интерактивный HTML-плеер, ускорения v0.4 для декодирования и motion blur, исправление torn frames, звуковое уведомление и быстрый экспорт alpha-видео.
  • Исправление для macOS: альфа-матт в быстром пути хранится в полном диапазоне 0–255, поэтому полностью непрозрачные пиксели больше не становятся полупрозрачными.
  • Зависимости: версия lock-файла синхронизирована с 0.4.0; безопасно обновлены транзитивные пакеты, npm audit --omit=dev сообщает 0 уязвимостей.

Проверки

  • npm run typecheck
  • npm run build
  • npm audit --omit=dev
  • E2E alpha/export: PSNR 43.39 dB, быстрый путь примерно в 2 раза быстрее
  • E2E задач-аннотаций и MCP
  • E2E раскадровки, плёнки таймлайна и восстановления прокси
  • Проверка синтаксиса E2E, MCP-моста и Python-скриптов

English

This PR merges the extended kadr-custom work with the current upstream/main and the v0.4.0 release. The original PR branch history is retained, and the update was published as a normal fast-forward without a force-push.

Changelog

  • macOS and windows: native menu, application packaging, independent project windows, and a detached preview window for a second display.
  • Timeline: scrolling and pinch zoom, resizable track headers, chapters, M-key markers, insertion previews, track renaming, and corrected scrollbars.
  • Agent tasks: non-rendering annotation tracks with stable IDs, statuses, history, one-step undo, and MCP lifecycle commands.
  • Preview and visual review: direct canvas editing, adaptive filmstrips, frame snapshots, and cache-aware storyboards for users and agents.
  • Proxies and media: validated self-healing adaptive 720p proxies, alpha preservation, difficult-codec support, and corrupt-cache recovery.
  • Voice workflows: microphone recording, repaired WAV duration, F5-TTS, take history, voice library, voice cloning, and subtitle-timed insertion.
  • Portable projects: dependency collection, ZIP packages, and project-owned Remotion sources with restored workspace links.
  • Claude and MCP: session persistence, editor capability maps, chapters, tasks, snapshots, storyboards, and project fragment synchronization.
  • Export: portable interactive HTML player, v0.4 decode and motion-blur acceleration, torn-frame fix, completion chime, and fast alpha-video export.
  • macOS correction: the packed alpha matte now keeps its full 0–255 range, so opaque pixels no longer become translucent on Chromium platforms that do not expand limited-range texture samples.
  • Dependencies: lock-file version synchronized to 0.4.0; safe transitive updates leave npm audit --omit=dev at 0 vulnerabilities.

Validation

  • npm run typecheck
  • npm run build
  • npm audit --omit=dev
  • Alpha/export E2E: 43.39 dB PSNR and roughly 2x faster packed path
  • Annotation-task and MCP E2E
  • Storyboard, timeline filmstrip, and proxy-recovery E2E
  • Syntax checks for E2E scripts, the MCP bridge, and Python helpers

Evgeniy and others added 30 commits August 17, 2026 00:37
Скрыть временные проекты, служебный граф кодовой базы и локальные вспомогательные файлы.

Ignore temporary projects, the local code graph, and workspace-only helper files.
Разрешить задавать Python для faster-whisper через конфигурацию или переменную окружения и документировать воспроизводимую локальную установку.

Allow selecting the faster-whisper Python through configuration or an environment variable and document a reproducible local setup.
Добавить локальный TTS-воркер, проверку готовности бэкенда и редактор версий озвучки с прослушиванием, повторной генерацией и выбором активного дубля.

Add a local TTS worker, backend readiness checks, and a voice-take editor with preview, regeneration, history, and active-version selection.
Добавить естественную прокрутку и pinch-масштабирование на macOS, вертикальную прокрутку дорожек, изменяемую ширину заголовков и безопасное обрезание элементов таймлайна.

Add native macOS scrolling and pinch zoom, vertical track scrolling, resizable track headers, and proper clipping for timeline overlays.
Добавить выбор текста, изображений, видео и Remotion-фрагментов кликом по превью, а также синхронное перемещение и масштабирование через гизмо.

Select text, image, video, and Remotion layers directly in the preview and keep gizmo movement and scaling synchronized with project state.
Разрешить длинным подписям переноситься и ограничить ширину строк, чтобы настройки экспорта не выходили за границы диалога.

Wrap long labels and constrain row contents so export settings remain inside the dialog.
Разрешить выносить превью с транспортом на второй монитор, освобождать центральную колонку и сохранять геометрию окна. Вернуть аудиометр и резервировать его ширину без скачков интерфейса.

Detach the preview and transport controls to a second display, reclaim the center column, and persist window bounds. Keep the audio meter while reserving its width to prevent layout shifts.
Использовать Command на macOS и Control на Windows/Linux во всех командах редактора, подсказках и документации. Передавать единую обработку клавиш в отдельное окно превью.

Use Command on macOS and Control on Windows/Linux across editor actions, hints, and documentation. Share the same keyboard handler with the detached preview window.
Показывать целевую дорожку, точку вставки и карточки будущих клипов при перетаскивании из медиатеки. Растянуть линейку времени до доступного правого края на малом масштабе.

Highlight the target track, insertion point, and pending clip cards while dragging from the media bin. Extend the time ruler to the available right edge at low zoom.
Держать кнопку сохранения неактивной, когда текущий снимок проекта уже записан на диск, и сохранять корректное состояние после открытия или создания проекта.

Disable Save when the current project snapshot is already on disk and keep the state correct after opening or creating a project.
Добавить переносимую папку с index.html, JSON таймлайна и относительными медиа. Воспроизводить композицию в реальном времени, собирать Remotion-фрагменты один раз и не рендерить видео покадрово.

Export a portable index.html with timeline JSON and relative media. Play the composition live, bundle Remotion fragments once, and avoid frame-by-frame video rendering.
Добавить параметры таймлайна, перемотки и кнопок управления. Загружать ассеты адаптивными параллельными батчами, менять приоритет после seek и поддерживать звук при открытии через file:// без CORS.

Add timeline, seeking, and control visibility options. Preload assets in adaptive parallel batches, reprioritize after seeks, and support file:// audio without CORS failures.
Добавить порционную упаковку визуальных ассетов для режима file:// и создавать origin-safe Blob URL перед передачей кадров в WebGL. Сохранить обычные относительные файлы и потоковую загрузку при размещении экспорта на сайте.

Package visual assets in chunks for file:// playback and create origin-safe Blob URLs before uploading frames to WebGL. Keep regular relative assets and streaming behavior for hosted exports.
Run and package Kadr on Apple Silicon, with Mac-native UX and a local
ad-hoc-signed .app/.dmg.

Bring-up
- node-pty rebuilds cleanly on Node 25 / Electron 31 (no version pin).

Mac-native (electron/)
- main.ts: fixUserPath() adopts the user's login-shell PATH on packaged
  macOS launches before anything spawns. Finder gives GUI apps a minimal
  PATH, which made the Claude PTY exit instantly ("session ended") and
  would also break node (MCP bridge), ffmpeg/ffprobe and python3.
- main.ts: VAAPI hardware-codec switches are now Linux-only (macOS uses
  native VideoToolbox; the flags only risked the GPU sandbox off-platform).
- menu.ts: real macOS application menu. File/Undo/Redo forward to the
  renderer over menu:command with CmdOrCtrl accelerators (fixes the
  missing Cmd shortcuts — the old keydown handler only checked ctrlKey);
  clipboard/selection keep native roles so text fields and the Claude
  terminal behave correctly.
- preload.ts + shared/types.ts: onMenuCommand IPC bridge.
- App.tsx: dispatch menu commands to the existing toolbar handlers
  (undo/redo defer to native text undo when an input is focused); drop the
  Save/Undo/Redo keydown branches the menu now owns.

Packaging
- electron-builder.yml: asar:false (the app spawns mcp-bridge.cjs and
  transcribe.py by absolute path), arm64 dmg+zip, ad-hoc signing.
- build/make-icon.mjs: generates the placeholder icon + .icns.
- package.json: icon and package:mac scripts; electron-builder devDep.

Note: installs need an Electron mirror on GitHub-throttled networks
(ELECTRON_MIRROR). See docs/superpowers/specs for full design + evidence.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Скрыть временные проекты, служебный граф кодовой базы и локальные вспомогательные файлы.

Ignore temporary projects, the local code graph, and workspace-only helper files.
Разрешить задавать Python для faster-whisper через конфигурацию или переменную окружения и документировать воспроизводимую локальную установку.

Allow selecting the faster-whisper Python through configuration or an environment variable and document a reproducible local setup.
Добавить локальный TTS-воркер, проверку готовности бэкенда и редактор версий озвучки с прослушиванием, повторной генерацией и выбором активного дубля.

Add a local TTS worker, backend readiness checks, and a voice-take editor with preview, regeneration, history, and active-version selection.
Добавить естественную прокрутку и pinch-масштабирование на macOS, вертикальную прокрутку дорожек, изменяемую ширину заголовков и безопасное обрезание элементов таймлайна.

Add native macOS scrolling and pinch zoom, vertical track scrolling, resizable track headers, and proper clipping for timeline overlays.
Добавить выбор текста, изображений, видео и Remotion-фрагментов кликом по превью, а также синхронное перемещение и масштабирование через гизмо.

Select text, image, video, and Remotion layers directly in the preview and keep gizmo movement and scaling synchronized with project state.
Разрешить длинным подписям переноситься и ограничить ширину строк, чтобы настройки экспорта не выходили за границы диалога.

Wrap long labels and constrain row contents so export settings remain inside the dialog.
Разрешить выносить превью с транспортом на второй монитор, освобождать центральную колонку и сохранять геометрию окна. Вернуть аудиометр и резервировать его ширину без скачков интерфейса.

Detach the preview and transport controls to a second display, reclaim the center column, and persist window bounds. Keep the audio meter while reserving its width to prevent layout shifts.
Использовать Command на macOS и Control на Windows/Linux во всех командах редактора, подсказках и документации. Передавать единую обработку клавиш в отдельное окно превью.

Use Command on macOS and Control on Windows/Linux across editor actions, hints, and documentation. Share the same keyboard handler with the detached preview window.
Показывать целевую дорожку, точку вставки и карточки будущих клипов при перетаскивании из медиатеки. Растянуть линейку времени до доступного правого края на малом масштабе.

Highlight the target track, insertion point, and pending clip cards while dragging from the media bin. Extend the time ruler to the available right edge at low zoom.
Держать кнопку сохранения неактивной, когда текущий снимок проекта уже записан на диск, и сохранять корректное состояние после открытия или создания проекта.

Disable Save when the current project snapshot is already on disk and keep the state correct after opening or creating a project.
Добавить переносимую папку с index.html, JSON таймлайна и относительными медиа. Воспроизводить композицию в реальном времени, собирать Remotion-фрагменты один раз и не рендерить видео покадрово.

Export a portable index.html with timeline JSON and relative media. Play the composition live, bundle Remotion fragments once, and avoid frame-by-frame video rendering.
Добавить параметры таймлайна, перемотки и кнопок управления. Загружать ассеты адаптивными параллельными батчами, менять приоритет после seek и поддерживать звук при открытии через file:// без CORS.

Add timeline, seeking, and control visibility options. Preload assets in adaptive parallel batches, reprioritize after seeks, and support file:// audio without CORS failures.
Добавить порционную упаковку визуальных ассетов для режима file:// и создавать origin-safe Blob URL перед передачей кадров в WebGL. Сохранить обычные относительные файлы и потоковую загрузку при размещении экспорта на сайте.

Package visual assets in chunks for file:// playback and create origin-safe Blob URLs before uploading frames to WebGL. Keep regular relative assets and streaming behavior for hosted exports.
Типизировать команды меню и синхронизировать создание проекта с состоянием сохранения.
Сохранить нативное редактирование текста и скрыть инструменты разработчика в сборке.

Type menu commands and keep new-project actions in sync with the saved state.
Preserve native text editing and hide developer tools from packaged builds.

Co-Authored-By: Claude <noreply@anthropic.com>
Обновить Electron 42 и electron-builder, включить явную ad-hoc подпись.
Добавить в пакет HTML-плеер, MCP-инструкции и Python-воркеры.

Update Electron 42 and electron-builder, and enable explicit ad-hoc signing.
Include the HTML player, MCP instructions, and Python workers in the package.

Co-Authored-By: Claude <noreply@anthropic.com>
Зарегистрировать .kadr в macOS и открывать документы из Finder без пустого окна.
Добавить «Новое окно» в меню приложения и Dock, а фоновые операции привязать
к окну исходного проекта.

Register .kadr documents on macOS and open Finder files without an empty window.
Add New Window to the application and Dock menus, and route background work to
its originating project window.

Co-Authored-By: Claude <noreply@anthropic.com>
Evgeniy and others added 11 commits August 17, 2026 02:23
Объяснить установку DMG, ассоциацию .kadr и команды создания окна.
Уточнить поведение автосохранения для нескольких несохранённых проектов.

Document DMG installation, .kadr associations, and window creation commands.
Clarify autosave behavior for multiple unsaved projects.

Co-Authored-By: Claude <noreply@anthropic.com>
Не добавлять Finder-файлы .DS_Store в рабочее дерево.

Keep Finder .DS_Store metadata out of the working tree.

Co-Authored-By: Claude <noreply@anthropic.com>
Синхронизировать отдельную горизонтальную полосу с основной областью таймлайна.

Учитывать текущую ширину панели дорожек и сохранять жесты трекпада.

Align the horizontal scrollbar with the track content area.

Keep it synchronized with timeline gestures and the resizable track header.

Co-Authored-By: Claude <noreply@anthropic.com>
Заканчивать позиционный указатель на нижней границе последней дорожки.

Не рисовать маркер ключевого кадра в пустой части таймлайна.

End the position indicator at the bottom edge of the final track.

Keep the keyframe marker out of the empty timeline area.

Co-Authored-By: Claude <noreply@anthropic.com>
Оставить единственный индикатор после панели названий дорожек.

Передавать ему горизонтальные и диагональные жесты трекпада.

Keep one scrollbar aligned after the track header panel.

Forward horizontal and diagonal trackpad gestures to the timeline.

Co-Authored-By: Claude <noreply@anthropic.com>
Add non-rendering timeline annotation tracks with stable task IDs, status history, editing UI, and one-step undo semantics.\n\nExpose annotation task listing and lifecycle tools through MCP while preserving concurrent user timing changes.\n\nCo-Authored-By: Claude <noreply@anthropic.com>
Open annotation cards only on double-click so pointer dragging remains available from the whole task block.\n\nKeep the timeline viewport and playhead stable when saving or closing the first annotation in an existing project.\n\nCo-Authored-By: Claude <noreply@anthropic.com>
Добавить проектную инструкцию для коммитов после завершённых изменений.\nЗакрепить двуязычный формат и изоляцию файлов текущей задачи.\n\nAdd project guidance for commits after completed changes.\nRequire bilingual messages and isolate files belonging to the current task.\n\nCo-Authored-By: Codex <noreply@openai.com>
Собрать завершённые изменения задач Codex в единый проверенный слепок.

- Добавить переносимые проекты с зависимостями и ZIP.
- Расширить F5-TTS, запись, клонирование и библиотеку голосов.
- Добавить главы, вырезание, переименование и улучшения таймлайна.
- Добавить раскадровку MCP, адаптивную плёнку и надёжные 720p-прокси.
- Синхронизировать возможности MCP и сохранение сессии Claude.
- Исправить вставку PNG, уведомления и отмену транскрипции.

Consolidate completed Codex task changes into one verified snapshot.

- Add portable projects with dependencies and ZIP archives.
- Expand F5-TTS, recording, voice cloning, and the voice library.
- Add chapters, cut, track rename, and timeline usability improvements.
- Add MCP storyboards, adaptive filmstrips, and reliable 720p proxies.
- Synchronize MCP capabilities and Claude session persistence.
- Fix PNG paste, notifications, and transcription cancellation.

Co-Authored-By: Codex <noreply@openai.com>
Объединить upstream/main с многоконными и монтажными улучшениями kadr-custom.
Сохранить главы, аннотации, голосовые инструменты, раскадровки и надёжные 720p-прокси.
Добавить маркеры, ускоренный alpha-экспорт, звуковое уведомление и переносимые фрагменты v0.4.
Исправить диапазон alpha-матта на macOS и обновить безопасные транзитивные зависимости.

Merge upstream/main with the multi-window and editing improvements from kadr-custom.
Preserve chapters, annotations, voice tools, storyboards, and reliable 720p proxies.
Add v0.4 markers, fast alpha export, export chime, and portable fragment sources.
Fix alpha-matte range on macOS and refresh safe transitive dependencies.
Зафиксировать исходную ветку PR как родителя без повторного применения уже перенесённых правок.
Сохранить проверенное дерево kadr-custom и обеспечить обычное fast-forward обновление без force-push.

Record the original PR branch as a parent without reapplying changes already carried forward.
Keep the verified kadr-custom tree and allow a normal fast-forward update without force-push.
@reg2005 reg2005 changed the title feat(editor): add advanced preview, timeline, voiceover, and portable HTML workflows feat(editor): integrate advanced workflows with kadr v0.4 Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants