Skip to content

feat(remotion): abertura de curso em video programatico (player + render MP4) - #34

Draft
alexandrebrt14-sys wants to merge 2 commits into
mainfrom
feat/remotion-course-videos
Draft

feat(remotion): abertura de curso em video programatico (player + render MP4)#34
alexandrebrt14-sys wants to merge 2 commits into
mainfrom
feat/remotion-course-videos

Conversation

@alexandrebrt14-sys

Copy link
Copy Markdown
Owner

O que

Incorpora a tecnica do remotion.dev na fabrica de cursos: video em React embutido na pagina gerada (auto-demo) e export MP4 opcional.

Opt-in (nao quebra nada)

Tudo gated por CourseDefinition.intro_video: bool = False. Default False -> output dos cursos atuais byte-a-byte igual, testes golden verdes.

Mudancas

  • src/models.py: campo intro_video. src/generators/tsx_generator.py: propaga ao contexto.
  • src/templates/page.tsx.j2: import + <CourseVideoPlayer> gated por {% if intro_video %}, logo abaixo do hero (prop acentuada via prop={"..."}, regra Turbopack do landing).
  • remotion/: subprojeto Node isolado do Python (composicao CourseIntro). npm install + tsc --noEmit → OK.
  • src/generators/video_generator.py + cli.py render-video: export MP4 via npx remotion render (instala deps do subprojeto na 1a execucao).
  • Doc em CLAUDE.md e remotion/README.md.

Validacao

  • python -m unittest tests.test_generators → 5/5 OK.
  • Render do template: intro_video=False → sem CourseVideoPlayer; =True → presente (import + bloco). Confirmado.
  • Subprojeto Node compila (tsc).

Notas

  • O <CourseVideoPlayer> vive no landing-page-geo (alvo de deploy) — PR irmao: alexandrebrt14-sys/landing-page-geo#99. Mergear os dois juntos.
  • @remotion/renderer baixa um Chromium headless no 1o render-video (por isso o MP4 real nao foi rodado no CI deste PR; caminho validado por tsc).
  • Suite completa via unittest discover falha em modulos que importam pytest (ausente no ambiente) — pre-existente, sem relacao com este PR.

🤖 Generated with Claude Code

alexandrebrt14-sys and others added 2 commits June 9, 2026 16:39
…der MP4)

Incorpora a tecnica do remotion.dev: video em React embutido na pagina gerada (auto-demo) e export MP4 opcional. Tudo opt-in via CourseDefinition.intro_video (default False) -> output dos cursos atuais inalterado, testes golden verdes.

- models.py: campo intro_video (opt-in). tsx_generator: propaga ao contexto.
- page.tsx.j2: import + <CourseVideoPlayer> gated por intro_video (prop acentuada via {"..."}, regra Turbopack).
- remotion/: subprojeto Node isolado (composicao CourseIntro), tsc OK.
- video_generator.py + cli.py render-video: export MP4 via npx remotion render.
- Doc no CLAUDE.md e remotion/README.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…al no render-video

Composicao vertical 1080x1920 com CTA para criativos de ads, em paridade com o landing-page-geo. cli.py render-video ganha --format {landscape,vertical} e --cta.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alexandrebrt14-sys
alexandrebrt14-sys marked this pull request as draft June 30, 2026 11:53
@alexandrebrt14-sys

Copy link
Copy Markdown
Owner Author

Triagem (higienização 08/07): decisão do Alexandre — este PR era acoplado ao landing-page-geo #99 (player Remotion), que foi FECHADO sem merge. Mergear o #34 sozinho pode deixar o intro_video sem o par no outro repo. Reavaliar a estratégia Remotion antes de promover de draft.

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.

1 participant