剪辑 (Edit)
快编 (Cut)
调色 (Color)
Fairlight 音频
媒体池 (Media Pool)
🎥 interview_cam_a.mp4
4K
🎵 bgm_chill.wav
48kHz
✨ title_intro.fusion
VFX
REC · 00:01:14:08 · 60 FPS
🎞️
创作者访谈主镜头预览 (Main Program)
按住说话提问:“怎么给音频做淡出并导出视频?”
检视器与调色 (Inspector)
当前色温: 5600K · 对比度: 1.05
💡 互动提示:直接点击被蓝色虚拟光标指中的按钮,光标会自动飞向下一处!
V1 视频轨
🎬 interview_cam_a.mp4 [00:00:00 - 00:02:30]
A1 音频轨
🎵 bgm_chill.wav 〰️〰️〰️〰️〰️
点击选中音轨编辑包络线
✦ Move (V)
# Frame (F)
✎ Pen (P)
T Text (T)
图层树 (Layers)
❖ Hero Product Card
├─ 🏷️ Badge Pill
├─ 📝 Heading Title
└─ 🔘 CTA Button
AI Cursor Companion
Instant Screen Tutor
Hold shortcut key and talk directly to your workspace.
Download for Desktop
设计属性 (Design Panel)
选中画布中央卡片后,依次点击上方属性按钮即可实时预览排版变化。
📄 UserProfileHeader.tsx
🧪 UserProfileHeader.test.tsx
15export function UserProfileHeader({ user }: Props) {
16 const displayName = user?.name || 'Anonymous Builder';
17 // ⚠️ Unhandled null pointer when user.profile is undefined:
18 const avatar = user.profile.avatarUrl; // ❌ TypeError: Cannot read properties of undefined
19 return <HeaderCard name={displayName} src={avatar} />;
20}
$ npm test
FAIL src/components/UserProfileHeader.test.tsx
● TypeError: Cannot read properties of undefined (reading 'avatarUrl') at line 18
Clicky Code Fixer
检测到第 18 行未对
user.profile 做空值保护。