SuperAPI AI 工具集

preview

设计与创作

查看项目

更新于 10-28 06:29

技能介绍

用途 Preview 用于为 react-native-true-sheet 生成可嵌入 README、文档和博客的预览动画。它不是一个面向终端用户的工具,而是仓库内部的录屏与渲染流程:示例应用(bare example)的脚本化屏幕录制,由 scripts/render.sh 渲染成两种产物:带设备边框和阴影的浅色/深色 GIF(供 GitHub README 使用,分别贴合 GitHub 的白色页和 #0d1117 页面),以及无边框的 MP4(供文档与博客使用,由页面 CSS 自行加框以适配两种主题)。GIF 不支持柔和透明度,因此浅色与深色各出一份,README 用 <picture> 按配色选择。文件放入 docs/public/img/previews/。

主要能力

  • 录制准备:录制 Release 构建的 bare 示例,避免 Metro、LogBox 和开发覆盖层,保证动画不掉帧;JS bundle 在构建时打包,示例改动后必须重新构建。文档给出了 iOS(xcodebuild -configuration Release 后安装 Release-iphonesimulator 的 .app)与 Android(./gradlew app:createBundleReleaseJsAndAssets --rerun app:installRelease -PreactNativeArchitectures=arm64-v8a)的命令。
  • 统一设备外观:每次预览都用同一清洁状态——9:41、满电、深色外观、无水印、无调试覆盖层,并保留触摸标记。文档提供 iOS 模拟器(xcrun simctl status_bar / ui)与 Android 模拟器(sysui_demo 广播、uimode night)的具体命令,并说明 Android 需隐藏移动网络图标、用 fully true 去掉 Wi-Fi 无网络标记等细节。
  • 录制流程:先 launch-app/restart-app 让场景从已知状态开始并等待约 2 秒,用 describe 定位目标坐标(各设备坐标不同,不可复用),先空跑一遍再重启,然后 screen-recording-start(showTouches 默认开启)到 screen-recording-stop,mp4 落在 .argent/recordings/。文档给出拖拽与滚动的手势时长、慢速回弹时的处理办法、用 gesture-custom 模拟拉下/收起 sheet 的步骤序列,以及用 await-ui-element 对依赖 sheet 打开或到达停靠位的步骤做闸门。
  • 折叠屏预览:折叠动画只有 Device Hub 窗口才画得出,因此改用 macOS 窗口截屏(screencapture)而非 argent 录制,并说明所需录屏权限、窗口需完整在屏、按窗口 ID 录制,再用 ffmpeg 裁剪编码为 foldables.mp4,以 <Preview device="duo" /> 嵌入(不加 CSS 边框)。
  • 挑选循环区间:用 ffmpeg 生成每秒一帧的联系表,选取起点与终点,预览控制在约 12 秒内;地图折线动画按周期循环,需用 trimStatic: false 录几秒空镜后用 RMSE 对比帧,找最匹配的循环点。
  • 渲染:render.sh <recording.mp4> <name> --start <sec> --end <sec>,选项含 --device(phone/tablet)、--width、--mask、--radius、--fps(GIF 用 20,MP4 保持 30)、--out。边框需贴合设备真实屏幕轮廓:iOS 传 framebufferMask PDF(Apple 的连续曲率无法用 --radius 拟合),Android 传 --mask auto(从录制中黑色圆角取形)。文档提示默认参数下 10 秒手机素材约每份 GIF 7 MB、MP4 约 1.4 MB,嵌入前应检查圆角与阴影是否与页面融合。
  • 嵌入与恢复:README 用 <picture> + height="439",文档与博客用 <Preview label src device />,device 支持 ios/android/ipad/duo,height 默认 652,iPad 用 --device tablet --width 900 并在 height={558} 显示;最后清除状态栏覆盖、恢复外观、重新启用 video-watermark、重装 Debug 构建并停掉 Metro 等服务器。

适用场景 主要面向该仓库的维护者:为 README、文档站和博客制作一致、可循环、带真实设备外观的演示动画,覆盖 iPhone、Android、iPad 横屏、Web(在 iOS 模拟器 Safari 中打开 expo 示例)以及折叠屏。

限制与注意事项 流程依赖 argent 系列技能(device-interact、screen-recording)、e2e 技能与固定目录结构,属于内部工作流而非通用产品;渲染效果依赖正确的设备 mask,iOS 无法用圆形半径近似,Android 圆角需从录制中提取;录制会拖慢模拟器,快速滑动可能回弹;折叠屏截屏需系统录屏权限与窗口完整可见;文档未提供独立的用户安装、收费或在线服务信息。