# Inventario Actual de Shortcuts

Estado actual levantado desde handlers vivos del frontend.

Objetivo de este documento:

- dejar una foto exacta de los shortcuts actuales,
- separar shortcuts reales de simples activaciones accesibles por teclado,
- evitar que `DashboardPage.jsx` siga siendo la unica fuente de verdad implícita.

## 1. Editor clasico: shortcut global principal

Fuente principal: [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)

Activos cuando el foco no esta en `input`, `textarea`, `select` ni otras superficies editables, salvo donde se indica otra cosa.

- `Espacio`: play / pause del preview de secuencia.
- `C`: corte normal en el playhead.
- `Shift + C`: corte solo visual en el playhead.
- `Ctrl/Cmd + C`: corte exacto en el playhead.
- `Ctrl/Cmd + Z`: deshacer.
- `Ctrl/Cmd + Shift + Z`: rehacer.
- `Home`: mover playhead al inicio de la secuencia y centrar timeline.
- `End`: mover playhead al final de la secuencia y centrar timeline.
- `PageUp`: seleccionar clip siguiente en timeline.
- `PageDown`: seleccionar clip anterior en timeline.
- `,`: zoom out del timeline.
- `.`: zoom in del timeline.
- `I`: marcar `in` del rango fuente.
- `O`: marcar `out` del rango fuente.
- `Escape`: limpiar seleccion de fuente y seleccion editorial actual.

## 2. Timeline del editor clasico

Fuente principal: [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)

Activos cuando la superficie de teclado actual es `timeline`.

- `ArrowLeft`: seleccionar clip anterior.
- `ArrowRight`: seleccionar clip siguiente.
- `ArrowUp`: seleccionar clip anterior.
- `ArrowDown`: seleccionar clip siguiente.
- `Shift + ArrowLeft`: mover el clip seleccionado hacia la izquierda en el orden narrativo.
- `Shift + ArrowRight`: mover el clip seleccionado hacia la derecha en el orden narrativo.
- `Shift + ArrowUp`: mover el clip seleccionado hacia la izquierda en el orden narrativo.
- `Shift + ArrowDown`: mover el clip seleccionado hacia la derecha en el orden narrativo.
- `Ctrl/Cmd + flechas`: ajustar el borde del clip seleccionado por palabra, usando la palabra enfocada del bloque como referencia.
- `Ctrl/Cmd + ArrowLeft` sobre la primera palabra del bloque: apropiarse de la palabra apagada anterior.
- `Ctrl/Cmd + ArrowRight` sobre la primera palabra del bloque: soltar la primera palabra activa del bloque.
- `Ctrl/Cmd + ArrowRight` sobre la ultima palabra del bloque: apropiarse de la palabra apagada siguiente.
- `Ctrl/Cmd + ArrowLeft` sobre la ultima palabra del bloque: soltar la ultima palabra activa del bloque.
- `Delete`: eliminar el clip seleccionado del timeline.
- `Espacio`: play / pause si el foco cae sobre bloques del timeline.

## 3. Transcript de secuencia en el editor clasico

Fuente principal: [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)

Activos sobre palabras/gaps/items del transcript de secuencia.

- `ArrowLeft`: mover seleccion o foco una palabra/item hacia atras.
- `ArrowRight`: mover seleccion o foco una palabra/item hacia adelante.
- `ArrowUp`: mover seleccion o foco una palabra/item hacia atras.
- `ArrowDown`: mover seleccion o foco una palabra/item hacia adelante.
- `Shift + flechas`: extender seleccion actual del transcript.
- `Ctrl/Cmd + ArrowLeft` sobre la primera palabra del clip seleccionado: apropiarse de la palabra apagada anterior.
- `Ctrl/Cmd + ArrowRight` sobre la primera palabra del clip seleccionado: soltar la primera palabra activa del clip.
- `Ctrl/Cmd + ArrowRight` sobre la ultima palabra del clip seleccionado: apropiarse de la palabra apagada siguiente.
- `Ctrl/Cmd + ArrowLeft` sobre la ultima palabra del clip seleccionado: soltar la ultima palabra activa del clip.
- `Delete`: desactivar palabras seleccionadas.
- `Enter`: insertar o quitar boundary de oracion sobre la seleccion.
- `V`: ocultar o restaurar palabras seleccionadas solo en subtitulos.
- `Alt + Delete`: mismo toggle de visibilidad solo en subtitulos.
- `Espacio`: play / pause.
- `Escape`: limpiar la seleccion del transcript.

## 4. Preview compartido / library preview surface

Fuente principal: [frontend/src/components/SharedPreviewSurface.jsx](../frontend/src/components/SharedPreviewSurface.jsx)

Activos solo cuando esa superficie esta marcada como `isActive`.

- `Espacio`: play / pause del preview compartido.

Cuando el slider/range rail del preview compartido tiene foco:

- `ArrowLeft`: seek `-250 ms`.
- `ArrowRight`: seek `+250 ms`.
- `Shift + ArrowLeft`: seek `-1200 ms`.
- `Shift + ArrowRight`: seek `+1200 ms`.
- `Home`: ir al inicio.
- `End`: ir al final.

## 5. Library shell del proyecto

Fuente principal: [frontend/src/pages/useLibraryProjectShell.js](../frontend/src/pages/useLibraryProjectShell.js)

Activos cuando la navegacion del shell esta considerada activa: `body`, transcript del proyecto o `shared-preview-surface`.

- `ArrowLeft`: mover playhead del proyecto por offset de palabra hacia atras.
- `ArrowRight`: mover playhead del proyecto por offset de palabra hacia adelante.
- `ArrowUp`: mover playhead por parrafo hacia atras.
- `ArrowDown`: mover playhead por parrafo hacia adelante.
- `Shift + ArrowUp`: mover seleccion de parrafo hacia arriba.
- `Shift + ArrowDown`: mover seleccion de parrafo hacia abajo.

## 6. Modal de detalle de sugerida

Fuente principal: [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)

Activos cuando esta abierto el modal de detalle de sugerida.

- `Espacio`: play / pause del preview del rango sugerido.

## 7. Modal / workspace editorial IA

Fuentes principales:

- [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)
- [frontend/src/pages/useEditorialAgentPreview.js](../frontend/src/pages/useEditorialAgentPreview.js)

Activos cuando el modal editorial esta abierto y hay review actual.

- `Espacio`: play / pause del preview editorial.

## 8. Split review modal

Fuente principal: [frontend/src/pages/SplitReviewModal.jsx](../frontend/src/pages/SplitReviewModal.jsx)

Activos en fase `review`.

- `Espacio`: play / pause del preview del split review.
- `ArrowLeft`: ir al segmento anterior.
- `ArrowRight`: ir al segmento siguiente.
- `Shift + ArrowLeft`: mover el boundary seleccionado una palabra hacia atras.
- `Shift + ArrowRight`: mover el boundary seleccionado una palabra hacia adelante.
- `C`: agregar boundary en la palabra seleccionada; si no hay palabra seleccionada, agregarlo en el playhead.
- `Delete`: borrar boundary seleccionado.
- `Backspace`: borrar boundary seleccionado.
- `Escape`: cerrar el modal.

## 9. Preview ruler del editor clasico

Fuente principal: [frontend/src/components/ClassicEditorPreviewPanel.jsx](../frontend/src/components/ClassicEditorPreviewPanel.jsx)

Cuando el ruler del preview tiene foco:

- `ArrowLeft`: seek de `-1 frame`.
- `ArrowRight`: seek de `+1 frame`.

## 10. Menu de titulo principal

Fuente principal: [frontend/src/components/ClassicEditorPreviewPanel.jsx](../frontend/src/components/ClassicEditorPreviewPanel.jsx)

Cuando el input de override del titulo principal tiene foco:

- `Enter`: cerrar el submenu del titulo principal.

## 11. Menus / overlays generales

Fuente principal: [frontend/src/App.jsx](../frontend/src/App.jsx)

- `Escape`: cerrar el panel menu global cuando esta abierto.

## 12. Activaciones accesibles por teclado que no son shortcuts globales

Estas no son hotkeys globales, pero si son comportamiento custom por teclado definido en componentes.

- `Enter` en parrafo del transcript del proyecto: seleccionar / abrir ese parrafo. Fuente: [frontend/src/components/LibraryProjectTranscriptPanel.jsx](../frontend/src/components/LibraryProjectTranscriptPanel.jsx)
- `Space` en parrafo del transcript del proyecto: se previene el scroll por defecto, sin accion adicional. Fuente: [frontend/src/components/LibraryProjectTranscriptPanel.jsx](../frontend/src/components/LibraryProjectTranscriptPanel.jsx)
- `Enter` o `Space` en tarjeta sugerida: abrir tarjeta. Fuente: [frontend/src/components/SuggestedSequenceCard.jsx](../frontend/src/components/SuggestedSequenceCard.jsx)
- `Enter` en card de proyecto: abrir proyecto en shell. Fuente: [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)
- `Space` en card de proyecto: seleccionar la card de proyecto. Fuente: [frontend/src/pages/DashboardPage.jsx](../frontend/src/pages/DashboardPage.jsx)

## 13. Nota de verificacion pendiente

El UI del popover `Corregir transcript` muestra este contrato:

- `Enter` confirma.
- `Backspace` con todo el texto seleccionado restaura el original.

Sin embargo, durante este inventario la referencia al handler de teclado de ese popover no aparecio tan clara como el resto en la version viva del archivo. Conviene verificar esa ruta por separado antes de tomarla como shortcut confirmado.