Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
b9fa93f
feat: add timeline video editor (M0 scaffolding + M1 media pipeline)
navidshad Jul 18, 2026
4a499e6
feat: timeline editing, EDL preview, and undo/redo (editor M2)
navidshad Jul 18, 2026
f11e400
feat: AI prompt bar, editor personas, and diff proposals (editor M3)
navidshad Jul 18, 2026
5dfca7b
feat: timeline export / render engine (editor M4)
navidshad Jul 18, 2026
68225ae
feat: revision tree for AI edits (list + graph), reworking the propos…
navidshad Jul 18, 2026
1a6407b
chore: add Playwright MCP for driving the Electron UI
navidshad Jul 18, 2026
7ac032a
docs: record v1 implementation status and revision-tree rework in the…
navidshad Jul 18, 2026
d96319f
feat: per-asset transcript and silence/dead-air finder (editor v1 com…
navidshad Jul 18, 2026
c150ab4
chore: add Playwright MCP generated artifacts to .gitignore
navidshad Jul 18, 2026
7ab6371
feat: scene detector sensitivity slider and merge/split piece correct…
navidshad Jul 18, 2026
99af7b8
feat: timeline minimap and marker/chapter jump list (long-timeline na…
navidshad Jul 18, 2026
0eeb023
feat: gate decorative animation behind prefers-reduced-motion
navidshad Jul 18, 2026
2975983
feat: dense batched filmstrip for timeline clips
navidshad Jul 18, 2026
d951c8c
docs: record the v1-completion round in the PRD status ledger
navidshad Jul 18, 2026
5bfb1d7
fix: trim handles stuck visible after first click on a timeline clip
navidshad Jul 19, 2026
7781c19
fix: marker jump-list popover rendered under the timeline playhead
navidshad Jul 19, 2026
bcc18cf
feat: numeric progress for every editor processing task
navidshad Jul 19, 2026
b0140e7
feat: transcript-first pieces, chat panel, collapsible rails (UX round)
navidshad Jul 19, 2026
97d70ae
style: de-chrome the chat rail — text-level controls, one frame per r…
navidshad Jul 19, 2026
8b3a983
fix: scope label crowding the send button in the prompt meta row
navidshad Jul 19, 2026
05f087e
style: snappy popover animation — replace the slow slide-up on menus
navidshad Jul 19, 2026
117240b
feat: gate the chat until media is preprocessed and ready
navidshad Jul 19, 2026
d547a76
fix: prompt placeholders overflow the narrow chat rail
navidshad Jul 19, 2026
4dc1f1b
chore: upgrade pilotui 1.28.1 → 1.29.1
navidshad Jul 19, 2026
d2b3150
Merge pull request #56 from navidshad/feat/video-editor-m0-m1
navidshad Jul 19, 2026
9b1a16a
feat: name editor projects — auto from first import + inline header r…
navidshad Jul 19, 2026
162945d
perf: speed up proxy generation for large files
navidshad Jul 19, 2026
6935b58
perf: reference local media in place instead of copying it in
navidshad Jul 19, 2026
5a5c876
feat: remove transcript / scene-description data from an asset
navidshad Jul 19, 2026
211fd37
feat(editor): audio-kind assets — import, preprocess, place & preview…
navidshad Jul 19, 2026
7f0df64
feat(editor): export mixes audio-kind assets — amix region graph (sta…
navidshad Jul 19, 2026
a0a5a6c
feat(editor): auto-segment audio assets (silence split + interval fal…
navidshad Jul 19, 2026
5ab8d4a
feat(editor): drag whole files onto the timeline + fix audio-lane drops
navidshad Jul 19, 2026
1bc9ea0
fix(editor): play each audio track in parallel via a per-track elemen…
navidshad Jul 19, 2026
4e9b678
fix(editor): attach pooled audio elements to the DOM (hidden)
navidshad Jul 19, 2026
387c276
fix(editor): let preview audio free-run instead of re-seeking every f…
navidshad Jul 19, 2026
aacd98f
fix(editor): stop reloading the audio element every frame (no timelin…
navidshad Jul 19, 2026
0654d29
fix(editor): compact filmstrip/context toggle + vertical scroll for t…
navidshad Jul 20, 2026
7a2f0bc
feat(editor): show Inspector and Chat together in a split right rail
navidshad Jul 20, 2026
c8a1195
feat(editor): right rail as two independently-collapsible rows
navidshad Jul 20, 2026
ddfaf18
feat(editor): make the right panels two columns instead of stacked rows
navidshad Jul 20, 2026
bbfef37
fix(editor): match right columns' collapse control to the media panel
navidshad Jul 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,19 @@ release
.DS_Store

.npmrc
.playwright-mcp/page-2026-07-18T20-27-09-682Z.png
.playwright-mcp/page-2026-07-18T20-27-30-442Z.yml
.playwright-mcp/page-2026-07-18T20-28-21-488Z.png
.playwright-mcp/page-2026-07-18T20-28-37-637Z.yml
.playwright-mcp/page-2026-07-18T20-29-00-648Z.yml
.playwright-mcp/page-2026-07-18T20-29-06-561Z.png
.playwright-mcp/page-2026-07-18T20-29-30-963Z.png
.playwright-mcp/page-2026-07-18T20-30-00-042Z.yml
.playwright-mcp/page-2026-07-18T20-30-13-245Z.png
.playwright-mcp/page-2026-07-18T20-33-32-651Z.png
.playwright-mcp/page-2026-07-18T20-35-28-430Z.png
.playwright-mcp/page-2026-07-18T21-05-49-608Z.yml
.playwright-mcp/page-2026-07-18T21-06-19-346Z.yml
.playwright-mcp/page-2026-07-18T21-06-51-089Z.yml
.playwright-mcp/page-2026-07-18T21-07-01-786Z.yml
.playwright-mcp/page-2026-07-18T21-07-06-202Z.yml
13 changes: 13 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest",
"--cdp-endpoint",
"http://127.0.0.1:9222"
]
}
}
}
123 changes: 58 additions & 65 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"typecheck:web": "vue-tsc -p tsconfig.web.json --noEmit",
"typecheck": "npm run typecheck:node && npm run typecheck:web || true",
"start": "electron-vite preview",
"start:debug": "electron-vite build && electron out/main/index.js --remote-debugging-port=9222",
"dev": "electron-vite dev",
"build": "electron-vite build",
"postinstall": "electron-builder install-app-deps",
Expand All @@ -33,7 +34,7 @@
"ffprobe-static": "^3.1.0",
"fluent-ffmpeg": "^2.1.3",
"markdown-it": "^14.1.1",
"pilotui": "^1.28.1",
"pilotui": "^1.29.1",
"pinia": "^3.0.4",
"uuid": "^13.0.0",
"vue": "^3.4.21",
Expand Down
3 changes: 2 additions & 1 deletion src/main/constants/gemini.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ export const DEFAULT_MODEL_SETTINGS: ModelSettings = {
'image-extraction': GEMINI_MODEL_2_5_FLASH_LITE,
'image-intent': GEMINI_MODEL_2_5_FLASH,
'image-generation': GEMINI_MODEL_3_1_FLASH_IMAGE_PREVIEW,
'image-upscale': GEMINI_MODEL_3_1_FLASH_IMAGE_PREVIEW
'image-upscale': GEMINI_MODEL_3_1_FLASH_IMAGE_PREVIEW,
'editor-edit': GEMINI_MODEL_3_FLASH_PREVIEW
}
}
17 changes: 16 additions & 1 deletion src/main/constants/paths.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,20 @@ export const THREAD_DIRS = {
GENERATED_VIDEOS: 'generated-videos',
AUDIO: 'audio',
VIDEO: 'video',
TRANSCRIPTS: 'transcripts'
TRANSCRIPTS: 'transcripts',
// Timeline editor: per-asset artifact root (tempDir/media/<assetId>/...)
MEDIA: 'media',
// Timeline editor: export workdirs + final renders (tempDir/exports/...)
EXPORTS: 'exports'
} as const

// Subdirectories inside tempDir/media/<assetId>/ for the timeline editor.
// FRAMES/ANALYSIS/AUDIO intentionally reuse THREAD_DIRS names so pipeline
// phases run per-asset when given an asset-scoped tempDir.
export const ASSET_DIRS = {
SOURCE: 'source',
PROXY: 'proxy',
ANALYSIS: THREAD_DIRS.ANALYSIS,
FRAMES: THREAD_DIRS.FRAMES,
AUDIO: THREAD_DIRS.AUDIO
} as const
Loading
Loading