remotion-video-reviewer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRemotion Video Reviewer
Remotion视频审查器
Provides comprehensive, structured reviews of Remotion video implementations against motion design specifications. Identifies issues, assesses impact, and generates actionable revision lists.
针对动效设计规范,对Remotion视频实现提供全面、结构化的审查。识别问题、评估影响并生成可执行的修订列表。
What This Skill Does
本工具的功能
Performs multi-layer review analysis:
- Spec compliance — Verifies implementation matches design spec
- Code quality — Checks patterns, performance, best practices
- Timing accuracy — Validates frame calculations and animation timing
- Visual fidelity — Confirms colors, typography, layout match spec
- Asset quality — Verifies assets are production-ready
- Performance — Identifies render bottlenecks
执行多层审查分析:
- 规范合规性 — 验证实现是否符合设计规范
- 代码质量 — 检查代码模式、性能与最佳实践
- 时序准确性 — 验证帧计算与动画时序
- 视觉保真度 — 确认颜色、排版、布局与规范匹配
- 资源质量 — 验证资源是否达到生产就绪标准
- 性能 — 识别渲染瓶颈
Input/Output Formats
输入/输出格式
Input Format: VIDEO_SPEC.md + Code Files
输入格式:VIDEO_SPEC.md + 代码文件
Requires both the original specification and implemented code:
VIDEO_SPEC.md (from )
/motion-designermarkdown
undefined需要同时提供原始规范与已实现的代码:
VIDEO_SPEC.md(来自)
/motion-designermarkdown
undefinedVideo Title
Video Title
Overview
Overview
- Duration: 30 seconds
- Frame Rate: 30 fps
- Duration: 30 seconds
- Frame Rate: 30 fps
Color Palette
Color Palette
Primary: #FF6B35
Background: #0A0A0A
Primary: #FF6B35
Background: #0A0A0A
Scene 1: Opening (0s - 5s)
Scene 1: Opening (0s - 5s)
- Logo scales from 0.8 to 1.0
- Spring config: { damping: 200 }
**Code Files** to review:
- `src/remotion/compositions/VideoName/index.tsx`
- `src/remotion/compositions/VideoName/constants.ts`
- `src/remotion/compositions/VideoName/types.ts`
- Asset files in `public/`- Logo scales from 0.8 to 1.0
- Spring config: { damping: 200 }
**待审查的代码文件**:
- `src/remotion/compositions/VideoName/index.tsx`
- `src/remotion/compositions/VideoName/constants.ts`
- `src/remotion/compositions/VideoName/types.ts`
- `public/`目录下的资源文件Output Format: REVIEW_REPORT.md
输出格式:REVIEW_REPORT.md
Generates a comprehensive review with prioritized issues:
markdown
undefined生成包含优先级问题的全面审查报告:
markdown
undefinedVideo Review Report: [Video Title]
Video Review Report: [Video Title]
Date: 2026-01-23
Reviewer: remotion-video-reviewer
Spec Version: VIDEO_SPEC.md v1.0
Code Location:
src/remotion/compositions/VideoName/Date: 2026-01-23
Reviewer: remotion-video-reviewer
Spec Version: VIDEO_SPEC.md v1.0
Code Location:
src/remotion/compositions/VideoName/Executive Summary
执行摘要
Overall Status: ✅ APPROVED WITH MINOR REVISIONS
Quick Stats:
- Total Issues: 4 (0 critical, 1 high, 2 medium, 1 low)
- Spec Compliance: 95%
- Code Quality: Excellent
- Production Ready: Yes, after addressing HIGH priority items
Recommendation: Address high-priority color mismatch before final render. Medium and low priority items are optional improvements.
整体状态: ✅ 需小幅修订,已批准
关键统计:
- 问题总数: 4个(0个严重,1个高优先级,2个中优先级,1个低优先级)
- 规范合规性: 95%
- 代码质量: 优秀
- 生产就绪状态: 是,解决高优先级问题后即可
建议: 最终渲染前修复高优先级的颜色不匹配问题。中、低优先级问题为可选优化项。
Compliance Scores
合规性评分
| Category | Score | Status | Notes |
|---|---|---|---|
| Spec Compliance | 95% | 🟢 Pass | 1 color mismatch in Scene 3 |
| Code Quality | 98% | 🟢 Pass | Excellent structure, minor optimization opportunity |
| Timing Accuracy | 100% | 🟢 Pass | All frame calculations correct |
| Visual Fidelity | 95% | 🟢 Pass | Minor color deviation |
| Asset Quality | 90% | 🟡 Good | 1 image could be optimized |
| Performance | 95% | 🟢 Pass | Excellent render times |
Overall Compliance: 95.5% — Production Ready
| 分类 | 得分 | 状态 | 备注 |
|---|---|---|---|
| 规范合规性 | 95% | 🟢 通过 | 场景3存在1处颜色不匹配 |
| 代码质量 | 98% | 🟢 通过 | 结构优秀,存在小幅优化空间 |
| 时序准确性 | 100% | 🟢 通过 | 所有帧计算正确 |
| 视觉保真度 | 95% | 🟢 通过 | 存在小幅颜色偏差 |
| 资源质量 | 90% | 🟡 良好 | 1张图片可优化 |
| 性能 | 95% | 🟢 通过 | 渲染速度优秀 |
整体合规性: 95.5% — 已达生产就绪标准
Issues Found
发现的问题
CRITICAL (Must Fix Before Production)
严重优先级(生产前必须修复)
None ✅
无 ✅
HIGH Priority (Should Fix)
高优先级(建议修复)
1. Scene 3 Background Color Mismatch
1. 场景3背景颜色不匹配
Category: Visual Fidelity
Location:
Impact: Visual inconsistency with brand colors
src/remotion/compositions/VideoName/scenes/Scene3.tsx:15Issue:
typescript
// Current implementation
backgroundColor: '#0B0B0B' // ❌ Wrong
// Spec requirement
Primary: #FF6B35
Background: #0A0A0A // ✅ CorrectFix:
typescript
// Update to use COLORS constant
backgroundColor: COLORS.background // Now: #0A0A0AVerification:
- Update if COLORS.background is incorrect
constants.ts - Verify Scene 3 uses COLORS.background
- Visual check against spec color palette
分类: 视觉保真度
位置:
影响: 与品牌颜色存在视觉不一致
src/remotion/compositions/VideoName/scenes/Scene3.tsx:15问题:
typescript
// Current implementation
backgroundColor: '#0B0B0B' // ❌ Wrong
// Spec requirement
Primary: #FF6B35
Background: #0A0A0A // ✅ Correct修复方案:
typescript
// Update to use COLORS constant
backgroundColor: COLORS.background // Now: #0A0A0A验证步骤:
- 若COLORS.background不正确,更新
constants.ts - 验证场景3使用COLORS.background
- 对照规范调色板进行视觉检查
MEDIUM Priority (Consider Fixing)
中优先级(考虑修复)
2. Large Product Image Could Be Optimized
2. 大型产品图片可优化
Category: Asset Quality
Location:
Impact: Slower render times, larger output file
public/images/product.pngCurrent:
- Format: PNG
- Resolution: 4000x3000
- File size: 8.2MB
Recommendation:
- Format: JPEG (no transparency needed)
- Resolution: 1920x1440 (2x display size)
- Quality: 90%
- Expected size: ~400KB (95% reduction)
Fix:
bash
undefined分类: 资源质量
位置:
影响: 渲染速度变慢,输出文件变大
public/images/product.png当前状态:
- 格式: PNG
- 分辨率: 4000x3000
- 文件大小: 8.2MB
建议:
- 格式: JPEG(无需透明通道)
- 分辨率: 1920x1440(2倍显示尺寸)
- 质量: 90%
- 预期大小: ~400KB(减少95%)
修复方案:
bash
undefinedResize and convert
Resize and convert
magick public/images/product.png -resize 1920x1440 -quality 90 public/images/product.jpg
magick public/images/product.png -resize 1920x1440 -quality 90 public/images/product.jpg
Update code to use .jpg
Update code to use .jpg
<Img src={staticFile('images/product.jpg')} />
**Benefits:**
- Faster preview/render times
- Smaller final video file
- No visual quality loss
---<Img src={staticFile('images/product.jpg')} />
**收益:**
- 预览/渲染速度更快
- 最终视频文件更小
- 无视觉质量损失
---3. Particle System Could Use Memoization
3. 粒子系统可使用Memoization
Category: Performance
Location:
Impact: Minor performance improvement possible
src/remotion/compositions/VideoName/scenes/Scene2.tsx:45Current:
typescript
// Particle positions recalculated (deterministic but not cached)
const particles = Array.from({ length: 70 }, (_, i) => ({
x: seededRandom(i * 123) * width,
y: seededRandom(i * 456) * height,
}));Recommendation:
typescript
import { useMemo } from 'react';
const particles = useMemo(
() => Array.from({ length: 70 }, (_, i) => ({
x: seededRandom(i * 123) * width,
y: seededRandom(i * 456) * height,
})),
[width, height]
);Expected Impact: 5-10% faster render for Scene 2
分类: 性能
位置:
影响: 可实现小幅性能提升
src/remotion/compositions/VideoName/scenes/Scene2.tsx:45当前代码:
typescript
// Particle positions recalculated (deterministic but not cached)
const particles = Array.from({ length: 70 }, (_, i) => ({
x: seededRandom(i * 123) * width,
y: seededRandom(i * 456) * height,
}));建议:
typescript
import { useMemo } from 'react';
const particles = useMemo(
() => Array.from({ length: 70 }, (_, i) => ({
x: seededRandom(i * 123) * width,
y: seededRandom(i * 456) * height,
})),
[width, height]
);预期影响: 场景2渲染速度提升5-10%
LOW Priority (Nice to Have)
低优先级(可选优化)
4. Add JSDoc Comments to Scene Components
4. 为场景组件添加JSDoc注释
Category: Code Quality
Location: All scene components
Impact: Improved maintainability
Recommendation:
typescript
/**
* Scene 1: Opening animation with logo reveal
* Duration: 0s - 5s (frames 0-150)
* Spec reference: VIDEO_SPEC.md Section "Scene 1"
*/
function Scene1Opening() {
// ...
}Benefits:
- Easier for team members to understand
- Better IDE autocomplete
- Clear spec traceability
分类: 代码质量
位置: 所有场景组件
影响: 提升可维护性
建议:
typescript
/**
* Scene 1: Opening animation with logo reveal
* Duration: 0s - 5s (frames 0-150)
* Spec reference: VIDEO_SPEC.md Section "Scene 1"
*/
function Scene1Opening() {
// ...
}收益:
- 便于团队成员理解
- 更好的IDE自动补全
- 清晰的规范追溯性
Detailed Analysis
详细分析
Spec Compliance (95%)
规范合规性(95%)
✅ Passed:
- All 4 scenes implemented
- Scene timing matches spec exactly (verified frame calculations)
- Typography matches (Inter font, correct weights)
- Audio placement correct (background music + 2 SFX)
- Spring configurations match spec descriptions
- All animations implemented as described
❌ Failed:
- Scene 3 background color (#0B0B0B instead of #0A0A0A)
Verification Steps Completed:
- Compared scene count: 4 scenes (matches)
- Verified scene durations: All correct
- Checked color palette: 1 mismatch found
- Validated spring configs: All match
- Tested audio timing: Correct
✅ 通过项:
- 所有4个场景已实现
- 场景时序与规范完全匹配(已验证帧计算)
- 排版匹配(Inter字体,字重正确)
- 音频位置正确(背景音乐 + 2个音效)
- Spring配置与规范描述匹配
- 所有动画均按描述实现
❌ 未通过项:
- 场景3背景颜色(使用#0B0B0B而非#0A0A0A)
已完成的验证步骤:
- 对比场景数量: 4个场景(匹配)
- 验证场景时长: 全部正确
- 检查调色板: 发现1处不匹配
- 验证Spring配置: 全部匹配
- 测试音频时序: 正确
Code Quality (98%)
代码质量(98%)
✅ Excellent Patterns:
- Constants properly extracted (COLORS, SPRING_CONFIGS, SCENE_TIMING)
- Consistent naming conventions (Scene1Opening, Scene2Content)
- AbsoluteFill used correctly in all scenes
- Progress variables extracted (not inline spring calls)
- TypeScript types defined for all props
- Clean, readable code structure
- Proper imports from remotion
✅ Best Practices Followed:
- useVideoConfig used for responsive positioning
- staticFile() used for all assets
- Sequence timing uses constants
- No magic numbers in code
- Deterministic random in particle system
🟡 Minor Improvements:
- Could add useMemo to particle calculation (LOW impact)
- JSDoc comments would improve maintainability
✅ 优秀模式:
- 常量已正确提取(COLORS、SPRING_CONFIGS、SCENE_TIMING)
- 命名约定一致(Scene1Opening、Scene2Content)
- AbsoluteFill在所有场景中使用正确
- 进度变量已提取(未内联Spring调用)
- 已为所有Props定义TypeScript类型
- 代码结构清晰、可读性强
- 正确从remotion导入模块
✅ 遵循最佳实践:
- 使用useVideoConfig实现响应式定位
- 所有资源均使用staticFile()
- 序列时序使用常量
- 代码中无魔法数字
- 粒子系统中使用确定性随机数
🟡 小幅优化建议:
- 可为粒子计算添加useMemo(影响低)
- 添加JSDoc注释可提升可维护性
Timing Accuracy (100%)
时序准确性(100%)
✅ All Verified:
Scene 1: 0s - 5s → frames 0-150 ✓ Correct (5 * 30fps)
Scene 2: 5s - 15s → frames 150-450 ✓ Correct (10 * 30fps)
Scene 3: 15s - 25s → frames 450-750 ✓ Correct (10 * 30fps)
Scene 4: 25s - 30s → frames 750-900 ✓ Correct (5 * 30fps)
Total: 30s = 900 frames ✓ CorrectValidation:
- All SCENE_TIMING constants match spec
- Sequence components use correct start/duration
- No timing overlap or gaps
- Audio timing matches frame calculations
✅ 全部验证通过:
Scene 1: 0s - 5s → frames 0-150 ✓ Correct (5 * 30fps)
Scene 2: 5s - 15s → frames 150-450 ✓ Correct (10 * 30fps)
Scene 3: 15s - 25s → frames 450-750 ✓ Correct (10 * 30fps)
Scene 4: 25s - 30s → frames 750-900 ✓ Correct (5 * 30fps)
Total: 30s = 900 frames ✓ Correct验证内容:
- 所有SCENE_TIMING常量与规范匹配
- 序列组件使用正确的开始/时长
- 无时序重叠或间隙
- 音频时序与帧计算匹配
Asset Quality (90%)
资源质量(90%)
✅ Good:
- Logo: 800x800 PNG, optimized, transparent ✓
- Background music: 30s MP3, 192kbps ✓
- Whoosh SFX: MP3, proper duration ✓
- Pop SFX: MP3, proper duration ✓
- Font: Inter loaded correctly via @remotion/google-fonts ✓
🟡 Could Improve:
- Product image: 8.2MB PNG → Should be 1920x1440 JPEG (~400KB)
Asset Checklist:
- All assets present in
public/ - Correct formats used (mostly)
- staticFile() imports correct
- File sizes optimized (1 large image)
- No missing assets
✅ 良好项:
- Logo: 800x800 PNG,已优化,带透明通道 ✓
- 背景音乐: 30秒MP3,192kbps ✓
- Whoosh音效: MP3,时长合适 ✓
- Pop音效: MP3,时长合适 ✓
- 字体: Inter通过@remotion/google-fonts正确加载 ✓
🟡 可优化项:
- 产品图片: 8.2MB PNG → 应改为1920x1440 JPEG(约400KB)
资源检查清单:
- 所有资源均存在于目录
public/ - 大部分使用正确格式
- staticFile()导入正确
- 文件大小已优化(1张大型图片未优化)
- 无缺失资源
Performance (95%)
性能(95%)
Render Performance:
- Average: 85ms/frame ✅ Excellent (target: <100ms)
- Scene 1: 65ms/frame ✅
- Scene 2: 105ms/frame 🟡 (particle system, acceptable)
- Scene 3: 75ms/frame ✅
- Scene 4: 70ms/frame ✅
No Major Issues:
- ✅ Spring calculations extracted and reused
- ✅ No expensive operations in render path
- ✅ Assets load efficiently (except large PNG)
- ✅ No memory leaks detected
Minor Optimization Opportunities:
- Memoize particle calculations (5-10% improvement in Scene 2)
- Optimize product.png (faster asset loading)
渲染性能:
- 平均: 85ms/帧 ✅ 优秀(目标: <100ms)
- 场景1: 65ms/帧 ✅
- 场景2: 105ms/帧 🟡(粒子系统,可接受)
- 场景3: 75ms/帧 ✅
- 场景4: 70ms/帧 ✅
无重大问题:
- ✅ Spring计算已提取并复用
- ✅ 渲染路径中无昂贵操作
- ✅ 资源加载高效(除大型PNG外)
- ✅ 未检测到内存泄漏
小幅优化机会:
- 对粒子计算进行Memo化(场景2性能提升5-10%)
- 优化product.png(加快资源加载速度)
Recommendations
建议
Before Production
生产前准备
- ✅ Fix HIGH priority color mismatch (5 minutes)
- ⏭️ Consider optimizing product image (10 minutes) - Optional but recommended
- ✅ 修复高优先级颜色不匹配问题(5分钟)
- ⏭️ 考虑优化产品图片(10分钟)- 可选但推荐
For Future Iterations
未来迭代建议
- Add JSDoc comments to scene components
- Apply memoization to particle system
- Consider extracting ParticleSystem to reusable component
- 为场景组件添加JSDoc注释
- 为粒子系统应用Memo化
- 考虑将ParticleSystem提取为可复用组件
Testing Checklist
测试清单
Completed validation:
- Visual inspection of all scenes
- Frame-by-frame timing verification
- Color palette comparison
- Audio synchronization test
- Asset loading verification
- Render performance profiling
- Code pattern review
- Best practices compliance
已完成的验证:
- 所有场景的视觉检查
- 逐帧时序验证
- 调色板对比
- 音频同步测试
- 资源加载验证
- 渲染性能分析
- 代码模式审查
- 最佳实践合规性检查
Next Steps
后续步骤
- Address HIGH priority issue: Fix Scene 3 background color
- Optional: Optimize product.png asset
- Final render: Generate production video
- Performance check: Run if render times increase
/remotion-performance-optimizer - Archive: Save REVIEW_REPORT.md with project files
- 处理高优先级问题: 修复场景3背景颜色
- 可选操作: 优化product.png资源
- 最终渲染: 生成生产级视频
- 性能检查: 若渲染时间增加,运行
/remotion-performance-optimizer - 归档: 将REVIEW_REPORT.md与项目文件一起保存
Approval
批准状态
Status: ✅ APPROVED WITH MINOR REVISIONS
This implementation is production-ready after addressing the Scene 3 color mismatch. All critical functionality, timing, and structure are correct. Medium and low priority items are optional improvements that can be addressed in future iterations.
Signed: remotion-video-reviewer
Date: 2026-01-23
**This document provides:**
- Executive summary with quick approval status
- Quantified compliance scores (95%, 98%, etc.)
- Prioritized issues (CRITICAL, HIGH, MEDIUM, LOW)
- Specific code locations and fixes
- Detailed analysis per category
- Testing verification checklist
- Clear next steps
- Official approval status
**Feeds into:**
- Developer: Fix identified issues
- `/remotion-performance-optimizer` if performance issues found
- Final production render after approval状态: ✅ 需小幅修订,已批准
本实现修复场景3颜色不匹配问题后即可投入生产。所有核心功能、时序与结构均正确。中、低优先级问题为可选优化项,可在未来迭代中处理。
签名: remotion-video-reviewer
日期: 2026-01-23
**本文档包含:**
- 带有快速批准状态的执行摘要
- 量化的合规性得分(95%、98%等)
- 按优先级排序的问题列表(严重、高、中、低)
- 具体代码位置与修复方案
- 按分类划分的详细分析
- 测试验证清单
- 清晰的后续步骤
- 官方批准状态
**对接其他工具:**
- 开发者: 修复已识别的问题
- 若发现性能问题,使用`/remotion-performance-optimizer`
- 批准后生成最终生产级渲染Review Process
审查流程
1. Spec Comparison
1. 规范对比
Compare implementation against motion design spec:
Check:
- All scenes from spec are implemented
- Scene durations match spec timing
- Color palette matches hex codes exactly
- Typography (font, size, weight) matches
- Animation descriptions are accurately translated
- Audio placement matches timing
- Spring configurations match spec
对照动效设计规范检查实现:
检查项:
- 规范中的所有场景均已实现
- 场景时长与规范时序匹配
- 调色板与十六进制代码完全匹配
- 排版(字体、大小、字重)匹配
- 动画描述已准确实现
- 音频位置与时序匹配
- Spring配置与规范匹配
2. Code Quality Review
2. 代码质量审查
Evaluate code structure and patterns:
Check:
- Constants extracted (colors, springs, timing)
- Scene components follow naming convention
- AbsoluteFill used for all scenes
- Progress variables extracted (not inline calculations)
- useVideoConfig used for responsive positioning
- TypeScript types defined
- Proper imports from remotion
评估代码结构与模式:
检查项:
- 常量已提取(颜色、Spring、时序)
- 场景组件遵循命名约定
- 所有场景均使用AbsoluteFill
- 进度变量已提取(未内联计算)
- 使用useVideoConfig实现响应式定位
- 已定义TypeScript类型
- 正确从remotion导入模块
3. Timing Accuracy
3. 时序准确性验证
Verify frame calculations:
Check:
- Seconds correctly converted to frames (seconds * fps)
- Scene timing constants are accurate
- Delay calculations use frame offsets
- Transitions account for overlap
- Total duration matches spec
- Animation hold times are correct
验证帧计算:
检查项:
- 秒数已正确转换为帧(秒数 * fps)
- 场景时序常量准确
- 延迟计算使用帧偏移量
- 过渡效果已考虑重叠
- 总时长与规范匹配
- 动画保持时间正确
4. Animation Review
4. 动画审查
Assess animation implementation:
Check:
- Spring configs match spec descriptions
- Interpolate ranges match spec values
- Easing functions appropriate for motion type
- Stagger delays calculated correctly
- Continuous animations use appropriate patterns
- Exit animations present where specified
评估动画实现:
检查项:
- Spring配置与规范描述匹配
- 插值范围与规范值匹配
- 缓动函数适合动效类型
- 交错延迟计算正确
- 连续动画使用合适模式
- 规范中指定的退出动画已实现
5. Visual Fidelity
5. 视觉保真度检查
Confirm visual accuracy:
Check:
- Background colors match spec
- Element colors use COLORS constants
- Font sizes match spec exactly
- Positioning follows spec layout
- Visual hierarchy maintained
- Layer organization (background/midground/foreground)
确认视觉准确性:
检查项:
- 背景颜色与规范匹配
- 元素颜色使用COLORS常量
- 字体大小与规范完全匹配
- 定位遵循规范布局
- 视觉层次结构得以保持
- 图层组织(背景/中景/前景)正确
6. Asset Quality
6. 资源质量验证
Validate asset preparation:
Check:
- All required assets present
- Assets use staticFile() import
- Image formats appropriate (PNG for transparency, JPEG for photos)
- Audio files in supported formats
- Asset dimensions suitable for composition
- Fonts loaded correctly
验证资源准备情况:
检查项:
- 所有必需资源均已存在
- 资源使用staticFile()导入
- 图片格式合适(透明图用PNG,照片用JPEG)
- 音频文件为支持格式
- 资源尺寸适合合成内容
- 字体加载正确
7. Performance Check
7. 性能检查
Identify performance issues:
Check:
- No expensive calculations in render
- Progress variables reused
- No unnecessary spring recalculations
- Memoization used where appropriate
- Large assets optimized
- No memory leaks in loops
识别性能问题:
检查项:
- 渲染中无昂贵计算
- 进度变量已复用
- 无不必要的Spring重计算
- 合适位置使用Memo化
- 大型资源已优化
- 循环中无内存泄漏
Review Output Format
审查输出格式
Summary
摘要
markdown
undefinedmarkdown
undefinedReview Summary
Review Summary
Spec Compliance: 95% (1 minor deviation)
Code Quality: Excellent
Timing Accuracy: 100%
Visual Fidelity: 98% (color mismatch in Scene 3)
Asset Quality: Good (1 optimization needed)
Performance: Excellent
Overall Rating: READY FOR PRODUCTION (with minor revisions)
undefinedSpec Compliance: 95% (1 minor deviation)
Code Quality: Excellent
Timing Accuracy: 100%
Visual Fidelity: 98% (color mismatch in Scene 3)
Asset Quality: Good (1 optimization needed)
Performance: Excellent
Overall Rating: READY FOR PRODUCTION (with minor revisions)
undefinedIssues List (Prioritized)
问题列表(按优先级排序)
markdown
undefinedmarkdown
undefinedIssues Found
Issues Found
CRITICAL (Must Fix)
CRITICAL (Must Fix)
None
None
HIGH (Should Fix)
HIGH (Should Fix)
- Scene 3 background color mismatch
- Spec: #0A0A0A
- Code: #0B0B0B
- Impact: Visual inconsistency
- Fix: Update COLORS.background
- Scene 3 background color mismatch
- Spec: #0A0A0A
- Code: #0B0B0B
- Impact: Visual inconsistency
- Fix: Update COLORS.background
MEDIUM (Consider Fixing)
MEDIUM (Consider Fixing)
- Product image could be optimized
- Current: 4000x3000 PNG
- Recommendation: 1920x1440 JPEG
- Impact: Faster render times
- Fix: Resize and convert asset
- Product image could be optimized
- Current: 4000x3000 PNG
- Recommendation: 1920x1440 JPEG
- Impact: Faster render times
- Fix: Resize and convert asset
LOW (Nice to Have)
LOW (Nice to Have)
- Add memoization to particle system
- Impact: Negligible performance gain
- Fix: Wrap in useMemo
undefined- Add memoization to particle system
- Impact: Negligible performance gain
- Fix: Wrap in useMemo
undefinedRecommendations
建议
markdown
undefinedmarkdown
undefinedRecommendations
Recommendations
Code Organization
Code Organization
- Extract ParticleSystem to reusable component
- Consider splitting Scene6 (currently 150 lines)
- Extract ParticleSystem to reusable component
- Consider splitting Scene6 (currently 150 lines)
Performance
Performance
- Preload audio files
- Consider lazy loading large assets
- Preload audio files
- Consider lazy loading large assets
Maintainability
Maintainability
- Add JSDoc comments to scene components
- Consider extracting animation helpers
undefined- Add JSDoc comments to scene components
- Consider extracting animation helpers
undefinedCommon Issues to Check
常见问题检查
Timing Issues
时序问题
Issue: Incorrect frame calculation
typescript
// Wrong
const duration = 5; // Should be 150 frames, not 5
// Correct
const duration = 5 * fps; // 150 framesIssue: Missing delay
typescript
// Wrong - all elements appear at once
const progress = spring({ frame, fps, config: SMOOTH_SPRING });
// Correct - staggered with delays
const progress = spring({
frame: frame - (index * STAGGER_DELAY),
fps,
config: SMOOTH_SPRING
});问题: 帧计算错误
typescript
// Wrong
const duration = 5; // Should be 150 frames, not 5
// Correct
const duration = 5 * fps; // 150 frames问题: 缺少延迟
typescript
// Wrong - all elements appear at once
const progress = spring({ frame, fps, config: SMOOTH_SPRING });
// Correct - staggered with delays
const progress = spring({
frame: frame - (index * STAGGER_DELAY),
fps,
config: SMOOTH_SPRING
});Animation Issues
动画问题
Issue: Inline spring config instead of constant
typescript
// Wrong
const progress = spring({
frame,
fps,
config: { damping: 200 },
});
// Correct
const progress = spring({
frame,
fps,
config: SPRING_CONFIGS.smooth,
});Issue: Repeated calculations
typescript
// Wrong
<div style={{
opacity: spring({ frame, fps, config: SMOOTH }),
transform: `scale(${spring({ frame, fps, config: SMOOTH })})`,
}} />
// Correct
const progress = spring({ frame, fps, config: SMOOTH });
<div style={{
opacity: progress,
transform: `scale(${progress})`,
}} />问题: 内联Spring配置而非使用常量
typescript
// Wrong
const progress = spring({
frame,
fps,
config: { damping: 200 },
});
// Correct
const progress = spring({
frame,
fps,
config: SPRING_CONFIGS.smooth,
});问题: 重复计算
typescript
// Wrong
<div style={{
opacity: spring({ frame, fps, config: SMOOTH }),
transform: `scale(${spring({ frame, fps, config: SMOOTH })})`,
}} />
// Correct
const progress = spring({ frame, fps, config: SMOOTH });
<div style={{
opacity: progress,
transform: `scale(${progress})`,
}} />Visual Issues
视觉问题
Issue: Hardcoded colors
typescript
// Wrong
backgroundColor: '#FF6B35'
// Correct
backgroundColor: COLORS.primaryIssue: Pixel values instead of responsive
typescript
// Wrong
left: 960, // Hardcoded center
// Correct
left: width / 2, // Responsive center问题: 硬编码颜色
typescript
// Wrong
backgroundColor: '#FF6B35'
// Correct
backgroundColor: COLORS.primary问题: 使用像素值而非响应式取值
typescript
// Wrong
left: 960, // Hardcoded center
// Correct
left: width / 2, // Responsive centerAsset Issues
资源问题
Issue: Direct import instead of staticFile
typescript
// Wrong
import logo from './logo.png';
// Correct
import { staticFile } from 'remotion';
const logoSrc = staticFile('logo.png');问题: 直接导入而非使用staticFile
typescript
// Wrong
import logo from './logo.png';
// Correct
import { staticFile } from 'remotion';
const logoSrc = staticFile('logo.png');Performance Issues
性能问题
Issue: Expensive operation in render
typescript
// Wrong - recalculated every frame
const particles = Array.from({ length: 1000 }, (_, i) => ({
x: Math.random() * width,
y: Math.random() * height,
}));
// Correct - calculate once
const particles = useMemo(
() => Array.from({ length: 1000 }, (_, i) => ({
x: seededRandom(i * 123) * width,
y: seededRandom(i * 456) * height,
})),
[width, height]
);问题: 渲染中存在昂贵操作
typescript
// Wrong - recalculated every frame
const particles = Array.from({ length: 1000 }, (_, i) => ({
x: Math.random() * width,
y: Math.random() * height,
}));
// Correct - calculate once
const particles = useMemo(
() => Array.from({ length: 1000 }, (_, i) => ({
x: seededRandom(i * 123) * width,
y: seededRandom(i * 456) * height,
})),
[width, height]
);Review Checklist
审查清单
Complete review checklist:
完成以下审查清单:
Spec Compliance
规范合规性
- All scenes implemented
- Timing matches spec
- Colors match exactly
- Typography matches
- Animations match descriptions
- Audio matches spec
- 所有场景已实现
- 时序与规范匹配
- 颜色完全匹配
- 排版匹配
- 动画与描述匹配
- 音频与规范匹配
Code Quality
代码质量
- Constants properly extracted
- Naming conventions followed
- AbsoluteFill used correctly
- TypeScript types defined
- Clean, readable code
- 常量已正确提取
- 遵循命名约定
- AbsoluteFill使用正确
- 已定义TypeScript类型
- 代码清晰、可读
Timing
时序
- Frame calculations correct
- Delays calculated properly
- Total duration accurate
- Transitions timed correctly
- 帧计算正确
- 延迟计算正确
- 总时长准确
- 过渡时序正确
Visuals
视觉
- Colors use constants
- Responsive positioning
- Visual hierarchy clear
- Layer organization logical
- 颜色使用常量
- 响应式定位
- 视觉层次清晰
- 图层组织合理
Assets
资源
- All assets present
- staticFile used
- Formats appropriate
- Quality sufficient
- 所有资源已存在
- 使用staticFile
- 格式合适
- 质量达标
Performance
性能
- No expensive render calculations
- Progress variables reused
- Assets optimized
- Memoization where needed
- 渲染中无昂贵计算
- 进度变量已复用
- 资源已优化
- 合适位置使用Memo化
Integration with Other Skills
与其他工具的集成
Works with:
- — Reviews translated code
/remotion-spec-translator - — Ensures patterns are followed
/remotion-best-practices - — Compares against original spec
/motion-designer - — Deep performance analysis
/remotion-performance-optimizer
可配合使用:
- — 审查翻译后的代码
/remotion-spec-translator - — 确保遵循代码模式
/remotion-best-practices - — 与原始规范对比
/motion-designer - — 深度性能分析
/remotion-performance-optimizer
Rules Directory
规则目录
For detailed review criteria:
- rules/spec-compliance.md — Verifying spec accuracy
- rules/timing-review.md — Frame timing validation
- rules/animation-quality.md — Animation assessment
- rules/visual-accuracy.md — Visual fidelity checks
- rules/asset-validation.md — Asset quality review
- rules/performance-audit.md — Performance checking
- rules/code-patterns.md — Code quality standards
This skill ensures Remotion implementations are production-ready, spec-compliant, and follow best practices before deployment.
详细审查标准请查看:
- rules/spec-compliance.md — 规范准确性验证
- rules/timing-review.md — 帧时序验证
- rules/animation-quality.md — 动画评估
- rules/visual-accuracy.md — 视觉保真度检查
- rules/asset-validation.md — 资源质量审查
- rules/performance-audit.md — 性能检查
- rules/code-patterns.md — 代码质量标准
本工具可确保Remotion实现在部署前达到生产就绪标准、符合规范要求并遵循最佳实践。