¿Qué hace Diseñador de Presentaciones para Lecciones?
Convierte el contenido de una lección en una presentación de diapositivas de la que se pueda aprender y un guión de video para la versión narrada. Una lección a la vez, una carpeta por lección.
Salida, en slides/<curso>/<leccion>/ a menos que el usuario indique otra ubicación:
| Archivo | Qué es |
|---|---|
slides.json | La fuente única: cada diapositiva como datos, con 16 tipos de diapositiva (references/slide-types.md). Edítalo y luego reconstruye |
<nombre_archivo>.pptx | La presentación 16:9, Arial, tema de tres colores; la narración de cada diapositiva está en sus notas del orador |
<nombre_archivo>.video-script.md | El archivo para el paso de video: un bloque por diapositiva con texto en pantalla, notas de producción, narración lista para texto a voz y segundos, más una tabla de resumen |
_preview/slide-NN.png, _preview/contact-sheet.png | Imágenes 1920x1080 de cada diapositiva y una hoja de contactos, para tu revisión visual y como fotogramas para un video |
<nombre_archivo>.preview.mp4 (opcional) | Una presentación silenciosa con los tiempos del guión, o narrada cuando existen archivos de audio por diapositiva |
Herramientas que usan los scripts: Python 3.9+ con python-pptx, Pillow, lxml (y cairosvg para iconos, o sharp-cli, rsvg-convert, Inkscape); LibreOffice y Poppler (pdftoppm) para renderizar previsualizaciones; ffmpeg para el video de previsualización opcional. Los iconos son del conjunto Lucide (licencia ISC) en assets/icons/.
Flujo de trabajo
Paso 0. Lee la fuente y acuerda el resumen
- Lee todo el material fuente de la lección: objetivos, audiencia, modalidad de entrega, el plan de clase con minutos, el guión, las preguntas con respuestas, cualquier esquema de diapositivas, materiales de apoyo. Si el usuario solo da un título, pide el contenido o escríbelo primero (el skill complementario
lesson-content-writerhace exactamente eso). - Lee
references/slide-standards.md(las reglas y la estructura de la presentación) yreferences/slide-types.md(los 16 tipos y sus límites de texto). - Acuerda: modalidad de entrega (video autoguiado, por lo que cada video es un clúster con su propia apertura, cuerpo y cierre más diapositivas de pausa; o clase en vivo, por lo que diapositivas para preguntar al aula y para practicar); idioma (
language, cualquier idioma funciona,enyvireciben verificaciones adicionales); tema (por defectonavy; un tema por curso, reutilízalo lección tras lección); cómo se dirige el instructor a los estudiantes (toma del guión); nombre del instructor y contacto para el pie de página.
Paso 1. Planifica la presentación
A partir del esquema de diapositivas de la fuente, o de la secuencia de la lección, escribe una tabla: # | tipo | la única idea de la diapositiva | visual o icono | pregunta o pausa | número de video. Restricciones:
- Estructura completa:
title-> (question, un abridor de "pruébalo primero", si la lección lo tiene) ->objectives->agenda-> para cada parte unsection(o elagendade nuevo concurrent) -> 2 a 5 diapositivas de contenido -> al menos unaquestion->summary->closing. - Una idea por diapositiva. Al menos 4 tipos de diapositiva por presentación, nunca 3 del mismo tipo seguidas, una pausa o pregunta al menos cada 10 a 12 minutos de narración.
- Planifica el arco emocional y coloca un rompedor de ritmo en los tercios 1/3 y 2/3; escribe los títulos como afirmaciones, no como etiquetas (
references/rhythm-and-titles.md). Los números con fuente van enbig-numbersochart, no en viñetas. - Los hechos, términos, números y ejemplos provienen únicamente de la fuente de la lección. Nunca los inventes. Los ejemplos provienen del trabajo propio de los estudiantes.
- Cursos en video: sigue el plan de la lección, cubre cada sección, ejemplo, pregunta de pausa y muestra trabajada de la fuente en una diapositiva o en la narración, y declara
videoscon minutos planificados para que el guión pueda advertir sobre videos delgados. Un esquema de diapositivas en la fuente es un piso, no un techo. Una lección de 100 minutos generalmente necesita de 35 a 60 diapositivas; la plantilla de 17 diapositivas es una demostración técnica, no una lección completa.
Paso 2. Escribe slides.json
Copia templates/slides.example.json y complétalo a partir del plan. Para cada diapositiva:
- El texto en pantalla son palabras clave y líneas cortas que quepan a 24 pt (límites por tipo en
slide-types.md). ¿Demasiado largo? Divide la diapositiva. Nunca reduzcas el texto. narration: del guión de la lección, reescrito para el oído (references/narration-and-video-script.md): un aliento por línea, cada línea termina con.,?o!, los números escritos como se pronuncian, la diapositiva nunca se lee palabra por palabra, las diapositivas de pregunta dicen "pausa el video".notes: direcciones de producción (revelar uno por uno, señalar, encerrar en un círculo, insertar clip, "Silencio 60 segundos").- Elige iconos por significado (
slide-types.md, sección 4) y mantén un icono por concepto recurrente durante todo el curso. Las imágenes reales (capturas de pantalla, fotos de productos) van junto aslides.jsoncon su fuente enIMAGE-SOURCES.md. Pregunta antes de descargar imágenes de la web y verifica la licencia. - Escribe como una persona, no como un folleto (
references/plain-human-voice.md).
Paso 3. Construye y verifica
python scripts/build_slides.py slides/<curso>/<leccion>/slides.json
El script se DETIENE ante violaciones graves: más de 6 líneas, texto que no cabe a 24 pt, una palabra huérfana que no se puede solucionar juntando dos palabras, icono o imagen faltante, tipo desconocido, un guión o frase típica de IA prohibida, una etiqueta de temporizador que discrepa de la narración, un elemento que la narración nunca lee. Corrige slides.json y reconstruye hasta que haya 0 errores. Lee también cada advertencia (líneas largas, dígitos en la narración, tres diapositivas de un mismo tipo seguidas, sin rompedor de ritmo, videos delgados) y corrígela o anota por qué no.
python scripts/render_slides.py slides/<curso>/<leccion>/<nombre_archivo>.pptx
Mira _preview/contact-sheet.png, luego cada slide-NN.png a tamaño completo, con la lista de verificación en slide-standards.md sección 5: texto recortado o superpuesto, grandes áreas vacías, desalineación, legible a un tercio del tamaño, un punto focal por diapositiva. Corrige, reconstruye, vuelve a mirar hasta que una pasada completa no muestre nada. Nunca informes que está hecho sin mirar la representación más reciente.
Opcional, para verificar el ritmo o entregar un borrador de video:
python scripts/preview_video.py slides/<curso>/<leccion>/slides.json [--audio <carpeta con S01.mp3 ...>]
Lecciones largas en plataformas de video (un tema por video, 10 a 12 minutos): mantén un slides.json a nivel de lección con un número de video en cada diapositiva y divídelo:
python scripts/split_videos.py slides/<curso>/<leccion>/slides.json --build --render
Cada video recibe su propia carpeta y presentación con una diapositiva de título ("Video k/N"), sus propios objetivos, su cuerpo y un cierre que enlaza con el siguiente video. Edita el archivo a nivel de lección, nunca los generados.
Paso 4. Informa
Dale al usuario: las rutas de la presentación, el guión de video y la hoja de contactos; una tabla resumen breve (# - tipo - idea - segundos); número de diapositivas y duración estimada; el tema; tus suposiciones (tratamiento, números y de dónde vinieron); advertencias que dejaste y por qué. Muestra la hoja de contactos.
Varias lecciones seguidas
Reutiliza el tema, el pie de página, el tratamiento y el conjunto de iconos por concepto de las lecciones anteriores en la misma carpeta del curso. Mantén las diapositivas de title y closing idénticas en diseño a lo largo del curso, y deja que cada cierre enlace con la siguiente lección.
Principios
- Los estándares no se mueven (
slide-standards.md). El contenido dentro de ellos es donde va la creatividad. El guión es el guardián; nunca desactives una verificación para salir del paso. - Las diapositivas son para los ojos, la narración es para los oídos. Los dos canales se complementan y nunca se duplican.
- Los estudiantes hacen algo. Cada parte tiene una pregunta o una pausa; la presentación termina con una acción concreta.
- Títulos en mayúsculas por defecto (
"title_case": "upper"), el JSON se mantiene como está escrito para que la narración y los subtítulos no se vean afectados. Las mayúsculas ocupan más espacio, así que mantén los títulos cortos. - 24 pt es el mínimo para todo, incluyendo etiquetas, leyendas, fuentes y pies de página. Demasiado largo significa reescribir, no reducir.
- No hay palabras huérfanas. Una sola palabra en la última línea de un título, tarjeta, paso o viñeta se ve mal. El script junta las dos últimas palabras cuando eso encaja, y se detiene cuando no.
- Ejecútalo, luego entrégalo. Construye, renderiza, mira, mide. Nunca adivines.
- Para añadir un tipo de diapositiva, agrega un método
s_<tipo>enscripts/build_slides.py, regístralo enKINDS, documéntalo enslide-types.md, y construye una presentación de prueba antes de usarlo.
Archivos de referencia
references/slide-standards.md- qué son las diapositivas de aprendizaje digital, las diez reglas de diseño y cómo las verifica el script, la estructura de la presentación, principios de aprendizaje multimedia, la lista de verificación previa a la entrega.references/slide-types.md- el formato deslides.json, los 16 tipos de diapositiva con límites de texto, temas, planificación de video, la lista de iconos.references/narration-and-video-script.md- reglas de narración para texto a voz o voz humana, notas de producción, lectura de cada elemento en pantalla, entrega a producción de video.references/rhythm-and-titles.md- el arco emocional de una lección, rompedores de ritmo en 1/3 y 2/3, títulos como afirmaciones, patrones de oraciones para aperturas, comparaciones, números y cierres.references/plain-human-voice.md- cómo eliminar la voz de IA: guiones y frases prohibidas, ritmo de oraciones, detalles concretos, opinión.templates/slides.example.json- una lección de demostración de 17 diapositivas que usa todos los tipos principales, ya construida y verificada.