Skip to content

feat: add WebIngressos presentation video - #4

Merged
prof-ramos merged 2 commits into
mainfrom
agent/webingressos-presentation-video
Jul 31, 2026
Merged

feat: add WebIngressos presentation video#4
prof-ramos merged 2 commits into
mainfrom
agent/webingressos-presentation-video

Conversation

@prof-ramos

@prof-ramos prof-ramos commented Jul 31, 2026

Copy link
Copy Markdown
Owner

O que mudou

  • adiciona um subprojeto Remotion para o vídeo de apresentação da WebIngressos;
  • cria composição 1920x1080, 30 fps, com abertura, duas cenas usando os assets de ticket e CTA do piloto;
  • habilita o decoder ProRes para os MOVs com alpha;
  • documenta instalação, preparo dos assets locais e renderização;
  • remove primitivos UI sem consumidores e mantém o lazy-loading do formulário para preservar o bundle inicial;
  • move shadcn para devDependencies e exclui artefatos Remotion dos checks raiz.

Validação

  • npm run lint em video/;
  • npm run build em video/;
  • render confirmado em video/out/webingressos-apresentacao.mp4 (20 s, H.264, 1920x1080);
  • pnpm check na landing passou.

Os MOVs fornecidos e o MP4 renderizado são assets locais ignorados pelo Git; o README do subprojeto documenta como preparar os arquivos em outra máquina.

Summary by CodeRabbit

  • Novos recursos

    • Adicionada uma apresentação em vídeo do WebIngressos, com cenas animadas, identidade visual da marca e chamada para participação no piloto.
    • Incluído suporte para preparar, visualizar e renderizar a apresentação em diferentes formatos.
  • Documentação

    • Adicionadas instruções para configurar, executar, validar e renderizar o vídeo.
    • Documentado o uso de arquivos de mídia locais e do decodificador ProRes.
  • Manutenção

    • Removidos componentes visuais não utilizados, simplificando a base da interface.
    • Aprimoradas as configurações de formatação, lint e validação do projeto.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

O PR adiciona uma apresentação Remotion do WebIngressos, configura o projeto de vídeo e remove componentes públicos não utilizados. Também atualiza exclusões de ferramentas e move shadcn para dependências de desenvolvimento.

Changes

Apresentação Remotion

Layer / File(s) Summary
Configuração do projeto de vídeo
video/.gitignore, video/.prettierrc, video/eslint.config.mjs, video/package.json, video/tsconfig.json, video/remotion.config.ts, video/README.md
O diretório video recebe scripts, dependências, configurações de TypeScript, ESLint, Prettier e Remotion, além de instruções para os assets ProRes.
Cenas e composição WebIngressos
video/src/Composition.tsx
A composição inclui abertura, ícones de ingressos, revelação do rasgo e encerramento. Ela usa animações, identidade visual, vídeos ProRes e chamada para o piloto.
Entrada e estilos do Remotion
video/src/Root.tsx, video/src/index.ts, video/src/index.css
A raiz registra a composição e importa os estilos globais. O ponto de entrada registra o decoder ProRes. Os estilos definem a base visual.
Documentação de carregamento do formulário
src/components/landing/pilot-form-lazy.tsx
Os comentários descrevem o carregamento da validação próximo ao formulário e sua exclusão do bundle inicial.

Manutenção da aplicação

Layer / File(s) Summary
Exclusões e dependências da aplicação
.prettierignore, eslint.config.mjs, tsconfig.json, package.json
As ferramentas ignoram artefatos do diretório video. A dependência shadcn passa para devDependencies.
Limpeza da API de componentes
src/components/ui/form.tsx, src/components/ui/select.tsx, src/components/ui/badge.tsx, src/components/ui/card.tsx, src/components/ui/separator.tsx, src/components/ui/textarea.tsx
As exportações de componentes não utilizados são removidas. Os arquivos badge, card, separator e textarea são excluídos.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant RemotionRoot
  participant WebIngressosComposition
  participant Presentation
  participant VideoAssets
  RemotionRoot->>WebIngressosComposition: registra a composição 1920×1080
  WebIngressosComposition->>Presentation: renderiza as sequências
  Presentation->>VideoAssets: reproduz os vídeos ProRes nas cenas intermediárias
Loading

Possibly related PRs

Poem

No palco, o ingresso vai brilhar,
Cenas e frames começam a rodar.
O ProRes entra em ação,
Componentes saem da composição.
WebIngressos pronto para apresentar!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed O título descreve com clareza a principal mudança: adicionar o vídeo de apresentação da WebIngressos.
Description check ✅ Passed A descrição cobre as mudanças e a validação, embora não use todos os títulos do template nem detalhe riscos e rollback.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/webingressos-presentation-video

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

video/eslint.config.mjs

ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.

video/package.json

ESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox.

video/remotion.config.ts

ESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox.

  • 4 others

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
webingressos-page Ready Ready Preview Jul 31, 2026 5:55pm

@prof-ramos
prof-ramos marked this pull request as ready for review July 31, 2026 17:55
@prof-ramos
prof-ramos merged commit a41b24b into main Jul 31, 2026
3 of 4 checks passed
@prof-ramos
prof-ramos deleted the agent/webingressos-presentation-video branch July 31, 2026 17:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@video/package.json`:
- Line 11: Atualize a dependência `@remotion/media` no package.json para usar
exatamente a versão 4.0.503, removendo o prefixo ^ e mantendo-a alinhada com
remotion, `@remotion/cli` e `@remotion/eslint-config-flat`.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 249a4b13-6a8a-438f-955c-a16ff39c2830

📥 Commits

Reviewing files that changed from the base of the PR and between 18801b8 and 6b734eb.

⛔ Files ignored due to path filters (2)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • video/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (22)
  • .prettierignore
  • eslint.config.mjs
  • package.json
  • src/components/landing/pilot-form-lazy.tsx
  • src/components/ui/badge.tsx
  • src/components/ui/card.tsx
  • src/components/ui/form.tsx
  • src/components/ui/select.tsx
  • src/components/ui/separator.tsx
  • src/components/ui/textarea.tsx
  • tsconfig.json
  • video/.gitignore
  • video/.prettierrc
  • video/README.md
  • video/eslint.config.mjs
  • video/package.json
  • video/remotion.config.ts
  • video/src/Composition.tsx
  • video/src/Root.tsx
  • video/src/index.css
  • video/src/index.ts
  • video/tsconfig.json
💤 Files with no reviewable changes (5)
  • src/components/ui/textarea.tsx
  • src/components/ui/badge.tsx
  • src/components/ui/card.tsx
  • src/components/ui/separator.tsx
  • src/components/ui/select.tsx
📜 Review details
🔇 Additional comments (17)
.prettierignore (1)

5-5: 📐 Maintainability & Code Quality

Alinhe a exclusão do Prettier com as saídas do Remotion.

eslint.config.mjs já exclui video/out/**, mas este arquivo exclui apenas video/build/**. Se o check raiz executar Prettier sobre o repositório, os renders em video/out continuam no escopo. Adicione video/out/** e confirme o comando raiz antes do merge.

Correção proposta
 video/build/**
+video/out/**
eslint.config.mjs (1)

8-17: LGTM!

tsconfig.json (1)

29-29: LGTM!

package.json (1)

54-54: 🗄️ Data Integrity & Integration

Sincronize a classificação no pnpm-lock.yaml.

A mudança de shadcn para devDependencies também precisa aparecer no importador raiz do lockfile. A entrada shadcn@4.16.0 confirma a versão, mas não confirma a nova seção. Verifique pnpm-lock.yaml e execute pnpm install --frozen-lockfile --ignore-scripts; o comando deve terminar sem solicitar atualização do lockfile.

src/components/ui/form.tsx (1)

144-144: 🎯 Functional Correctness

Sem consumidores restantes de FormDescription.

Não há importações ou reexports de FormDescription nos arquivos TypeScript/JavaScript do repositório.

video/src/index.ts (1)

1-6: LGTM!

src/components/landing/pilot-form-lazy.tsx (1)

27-28: LGTM!

video/.gitignore (1)

1-11: LGTM!

video/.prettierrc (1)

1-5: LGTM!

video/eslint.config.mjs (1)

1-3: LGTM!

video/package.json (1)

1-10: LGTM!

Also applies to: 12-32

video/remotion.config.ts (1)

1-12: LGTM!

video/tsconfig.json (1)

1-15: LGTM!

video/README.md (1)

1-30: LGTM!

video/src/Composition.tsx (1)

1-460: LGTM!

video/src/Root.tsx (1)

1-10: LGTM!

video/src/index.css (1)

1-19: LGTM!

Comment thread video/package.json
"dependencies": {
"@mediabunny/prores": "1.50.8",
"@remotion/cli": "4.0.503",
"@remotion/media": "^4.0.503",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

jq -r '
  .dependencies
  | to_entries[]
  | select(.key == "remotion" or (.key | startswith("`@remotion/`")))
  | "\(.key)=\(.value)"
' video/package.json

fd -a -t f \
  -g 'package-lock.json' \
  -g 'npm-shrinkwrap.json' \
  -g 'pnpm-lock.yaml' \
  -g 'yarn.lock' \
  video

Repository: prof-ramos/webingressos-page

Length of output: 456


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo '--- package summary ---'
jq '.name, .version, .lockfileVersion, .dependencies' video/package.json

echo '--- lockfile Remotion package entries ---'
if [ -f video/package-lock.json ]; then
  jq -r '
    .packages
    | to_entries[]
    | select(.key == "" or (.key | endswith("/remotion")) or .key | test("^node_modules/(@[^/]+/)?[^/]+/$"))
    | select(.value.name? | test("^(`@remotion/`)?remotion$|^`@remotion/`"))
    | "\(.key)=\(.value.version // empty) | \(.key)=\(.value.resolved // empty) | \(.key)=\(.value.integrity // empty)"
  ' video/package-lock.json | sed -n '1,160p'
else
  echo 'no video/package-lock.json'
fi

echo '--- lockfile dependency aliases ---'
jq -r '
  .packages[""].dependencies // {},
  .packages[""].devDependencies // {}
| to_entries[]
| select(.key == "remotion" or (.key | startswith("`@remotion/`")))
| select(.key == "remotion" or (.key | startswith("`@remotion/`")))
| "\(.key)=\(.value)"
' video/package-lock.json

Repository: prof-ramos/webingressos-page

Length of output: 525


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo '--- lockfile package entry for `@remotion/media` ---'
jq -r '
  .packages[]
  | select(((.key | type) == "string") and ((.key | endswith("/@remotion/media")) or (.key | endswith("/remotion"))))
  | select(.value.name? == "`@remotion/media`" or .value.name? == "remotion")
  | "\(.key) => version=\(.value.version // "MISSING") resolves=\(.value.resolved // "MISSING") integrity=\(.value.integrity // "MISSING")"
' video/package-lock.json

echo '--- lockfile dependency entries for Remotion packages ---'
jq -r '
  .packages[""].dependencies // {},
  .packages[""].devDependencies // {}
| to_entries[]
| select(.key == "remotion" or (.key | startswith("`@remotion/`")))
| "\(.key)=\(.value)"
' video/package-lock.json

Repository: prof-ramos/webingressos-page

Length of output: 376


Fixa o @remotion/media na mesma versão do remotion.

Agora o video/package.json deixa o @remotion/media abrir para ^4.0.503, enquanto remotion, @remotion/cli e @remotion/eslint-config-flat estão em 4.0.503. Instalações limpas podem resolver versões diferentes e quebrar o bundle; usa 4.0.503 sem ^.

Correção proposta
-    "`@remotion/media`": "^4.0.503",
+    "`@remotion/media`": "4.0.503",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"@remotion/media": "^4.0.503",
"`@remotion/media`": "4.0.503",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@video/package.json` at line 11, Atualize a dependência `@remotion/media` no
package.json para usar exatamente a versão 4.0.503, removendo o prefixo ^ e
mantendo-a alinhada com remotion, `@remotion/cli` e `@remotion/eslint-config-flat`.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6b734eb371

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread video/package.json
Comment on lines +1 to +8
{
"name": "video",
"version": "1.0.0",
"description": "My Remotion video",
"repository": {},
"license": "UNLICENSED",
"private": true,
"dependencies": {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the standalone video app from the landing-only repo

This directory introduces a second application with its own React/Remotion runtime, npm dependency graph, public assets, and build lifecycle, even though this repository is explicitly scoped exclusively to the commercial-validation landing page. Keeping an unrelated production project here expands ownership and maintenance beyond that stated boundary; move the Remotion project to a dedicated repository and retain only any asset actually consumed by the landing.

AGENTS.md reference: AGENTS.md:L3-L9

Useful? React with 👍 / 👎.

Comment thread tsconfig.json
"**/*.tsx"
],
"exclude": ["node_modules"]
"exclude": ["node_modules", "video"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Run the video typecheck in CI before excluding it

As checked in .github/workflows/ci.yml, CI installs only the root pnpm workspace and runs the root scripts; pnpm-workspace.yaml includes only .. Excluding video here therefore means its separate npm run lint—including its TypeScript check—never runs in CI, so invalid Remotion imports or API usage can merge while every required root check passes. Add a CI step that installs and validates video/, or include it in the managed workspace, before isolating it from the root typecheck.

AGENTS.md reference: AGENTS.md:L72-L78

Useful? React with 👍 / 👎.

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