// glow-wake-sleep-panel v3 —— 扫光方向改为从左向右(用户裁决): // 聚光灯从左向右"扫过"斜置面板;一条带辉光的紫色光线贴着 UI 顶边/边框/ // logo 划过,光到即亮、光走即暗,尾段沉回黑暗(右缘残留蓝紫)。 import React from 'react'; import { AbsoluteFill, useCurrentFrame, interpolate } from 'remotion'; const W = 1250; const H = 860; const R = 26; const ink = '#3a3a3a'; const mid = '#9a9a98'; const line = '#e2e2e0'; const Row: React.FC<{ w: number; icon?: boolean }> = ({ w, icon = true }) => (
{icon &&
}
); const TaskCard: React.FC<{ seed: number }> = ({ seed }) => (
); // 灰阶斜置面板(ClickUp 布局形:侧栏 + Review/Shipped 两列) const Panel: React.FC = () => (
{[0, 1].map((col) => (
{[0, 1, 2].map((i) => )}
))}
); // 贴边紫色光线(多层辉光:宽糊层+中层+亮芯),水平段,中心在 cx const EdgeStreak: React.FC<{ cx: number; y: number; len: number; opacity: number; vertical?: boolean }> = ({ cx, y, len, opacity, vertical = false }) => { const long = { position: 'absolute' as const, left: 0, top: 0, opacity }; const grad = (c: string) => vertical ? `linear-gradient(180deg, rgba(0,0,0,0) 0%, ${c} 45%, ${c} 55%, rgba(0,0,0,0) 100%)` : `linear-gradient(90deg, rgba(0,0,0,0) 0%, ${c} 45%, ${c} 55%, rgba(0,0,0,0) 100%)`; if (vertical) { return (
); } return (
{/* 粉色偏移层:截图里光带紫中带粉 */}
); }; export const GlowWakeSleepPanel: React.FC = () => { const frame = useCurrentFrame(); // 聚光沿面板顶边从左向右匀速扫过(面板本地座标) const sx = interpolate(frame, [4, 120], [-260, W + 260], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', }); const sy = 150; // 聚光照在面板上部 // 全局明暗包络:醒 → 展示 → 睡 const env = interpolate(frame, [0, 16, 100, 130], [0, 1, 1, 0], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', }); // 尾段右缘残光:最后只剩右缘一线蓝紫 const rightNear = Math.max(0, Math.min(1, (sx - (W - 420)) / 420)); const tailBlue = interpolate(frame, [100, 116, 132], [0, 0.8, 0.25], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', }); // logo 描光:聚光经过 logo(本地 x≈60)时点亮 const logoGlow = Math.exp(-((sx - 60) ** 2) / (2 * 230 ** 2)) * env; // 摄影机慢漂移:面板随扫光从左上往右下走(对应扫光方向) const drift = interpolate(frame, [0, 132], [-150, 150]); const driftY = interpolate(frame, [0, 132], [-36, 36]); return (
{/* 聚光环境雾光:跟随光头,泛在面板后黑场 */}
{/* 后层重影面板(截图④⑤双层) */}
{/* 重影面板同样受聚光范围控制 */}
{/* 面板本体:聚光范围内显影,范围外沉黑 */}
{/* 尾段右缘蓝紫残光罩 */}
{/* 贴顶边划过的紫色光线(本体) */} {/* 右缘竖直光线:聚光接近右侧时点亮,尾段转蓝紫 */} {/* logo 一圈描光(截图⑤:光经过 logo 时) */}
{/* 光头本体眩光:贴着顶边的亮团 */}
); };