[Feature]: Multi-video overlay and split-screen layout regions on the timeline
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
- #1318 de @rainyflash — cerrado sin fusionar
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- electron, typescript
- Área
- full-stack
Línea de trabajo
Start with the 11-step region checklist in technical-documentation/architecture/editor-shell.md and trace the existing document, timeline, preview, inspector, and agent/MCP entry points. The issue names AxcutDocument, V4Timeline, PreviewCanvas, FloatingInspector, and SceneDescription as areas to inspect. Done means overlay regions work across those surfaces, including composition, controls, synchronization, and agent/MCP authoring; an open linked pull request indicates work is already underway.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Search existing issues
- I have searched the existing issues
Is your feature request related to a problem?
Currently, OpenScreen's timeline only supports playing one primary video clip at a time (plus the recording's linked webcam track). Users creating product demos, before/after performance comparisons, multi-client workflows (e.g. browser + terminal, or desktop + mobile side by side), or picture-in-picture B-roll overlays have no way to present two video assets simultaneously on screen and configure how they share the frame.
Describe the solution you'd like
Add support for multi-video overlay / split-screen regions (videoOverlayRanges) so users and AI agents can place a secondary video asset over any span of the edited timeline and control how the multiple videos are presented on screen:
- Document Model (
AxcutDocument):- Add clip-anchored
videoOverlayRangesreferencing any videoassetIdin the project, with source offset (offsetMs), layout mode (side-by-side,top-bottom,pip,wipe-compare), split ratio (splitRatio, 0.2–0.8, default 0.5), PiP rect (position / size), optionalcropRegion,muted, andgainDb.
- Add clip-anchored
- Editor UI (Timeline, Preview & Inspector):
- Add a Video Overlay / Split Screen lane and toolbar action on
V4Timelineto place, move, resize, and delete secondary video regions. - Render the simultaneous multi-video composition in
PreviewCanvas(side-by-side split, top/bottom split, wipe comparison, and draggable/resizable PiP overlay) synchronized with the playhead, trims, and speed regions. - Add an inspector selection pane (
FloatingInspector) to pick the secondary video asset, switch layout modes (side-by-side,top-bottom,pip,wipe-compare), adjust split ratio / PiP size, and toggle audio mute. - Extend
SceneDescriptionwithvideoOverlayRegionsso the scene contract carries the resolved multi-video regions.
- Add a Video Overlay / Split Screen lane and toolbar action on
- AI Agent & MCP Tools:
- Expose
addVideoOverlayandsetVideoOverlay(and supportremoveModifier+getCurrentDocumentreadback) so both the in-app agent and external MCP clients can author side-by-side comparisons and PiP overlays programmatically.
- Expose
Describe alternatives you've considered
Turning the primary timeline into a free-form N-track non-linear editor was rejected because it would break the contiguous primary timeline invariant (decisions.md) and add unnecessary complexity. Modeling secondary video presentations as clip-anchored regions keeps the sleek single-timeline UX intact.
Additional context
Follows the 11-step region checklist in technical-documentation/architecture/editor-shell.md.
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.7k
- Forks
- 231
- Merge medio
- 16 h 25 min
- PR fusionados (30 d)
- 331
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de getopenscreen/openscreen
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
getopenscreen/openscreen#1423 ·
Los mantenedores suelen responder en 1 día
-
Native review wanted: machine-translated recording bar tooltips (14 locales)Quizá libre de nuevo @auberginewly la tomó hace 20 días y no hay ningún pull request abierto. Abiertogood first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getopenscreen/openscreen#913 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 57/100
getopenscreen/openscreen#1422 ·
Los mantenedores suelen responder en 1 día
-
macOS: pick the YCbCr matrix per buffer instead of hard-coding BT.709Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
getopenscreen/openscreen#1420 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: completely disable HuggingFace connection buttonPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
getopenscreen/openscreen#1419 ·
Los mantenedores suelen responder en 1 día
Todos los issues de getopenscreen/openscreen
Issues similares
-
Parallel reticle_verify opens per-flow leases without the source lease's ignoreHTTPSErrorsPosiblemente ocupada @as992949791 la tomó hoy. Abiertogood first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
reticlehq/reticle#2033 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
area:quality p3-medium ready-for-agent type:docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
fderuiter/deruiter.dev#3589 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
manfredsteyer/angular-oauth2-oidc#1514 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
marmelab/react-admin#11431 ·
Los mantenedores suelen responder en 1 día