livecanvas
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseLiveCanvas · 实况画布
LiveCanvas · Live Canvas
把用户的一句话变成有证据、静态可读、动态能讲清内容的实况动效卡。原名 LiveChart,现名 LiveCanvas(实况画布),覆盖图表、图片与场景叙事;默认主动设计与主题相关的图片/图标和场景动作,图表只是可选表达。默认中文、Remotion、1080×1440、30 fps、约 3 秒、无声。这些是起点,允许按内容调整;3 秒不是声称的苹果格式限制。
Turn a user's one-sentence brief into an evidence-based Live Photo motion card that is readable when static and whose motion clearly explains the content. Formerly named LiveChart and now named LiveCanvas (Live Canvas), it covers charts, images, and scene-based storytelling. By default, it proactively designs topic-relevant imagery/icons and scene actions; charts are only an optional form of expression. Chinese, Remotion, 1080×1440, 30 fps, approximately 3 seconds, and no audio are the defaults. These are starting points and may be adjusted to suit the content; the 3-second duration is not a claimed Apple format limitation.
先定内容,再定动效
First define the content, then design the motion
- 从请求提取主体、指标、时间范围、比较关系、用途。具体需求优先,不把用户给的例子当成固定模板。
- 搜索并核实数据,读 数据与口径。先保存原始证据、事实或结构化数据,再写标题、数字与注释。无时间序列的主题可以用事实卡、过程或场景解释;不能为了画图虚构数据。
- 写简短制作说明:一句结论、事实/数据口径、封面信息层级、分镜时间表及素材计划。选出适合该主题的表达,不默认折线图加数字。直接做设计判断;仅当缺失信息会实质改变答案时提问。
- 按 封面与动效 制作。吸收 Emil Kowalski animate 的有目的、克制、连续、节奏清晰原则;用户已指定 Remotion,不执行上游的工具替换步骤,也不把交互组件时长限制机械套到解释性视频。
- Extract the subject, metric, time range, comparison relationship, and intended use from the request. Specific requirements take priority; do not treat examples supplied by the user as fixed templates.
- Search for and verify the data, and read Data & Methodology. Save the original evidence, facts, or structured data before writing the title, numbers, and annotations. For subjects without a time series, use a fact card, process, or scene-based explanation; do not fabricate data merely to create a chart.
- Write a brief production plan: a one-sentence conclusion, the fact/data methodology, the cover's information hierarchy, a storyboard timeline, and an asset plan. Choose an expression suited to the subject rather than defaulting to a line chart with numbers. Make design judgments directly; ask a question only when missing information would materially change the answer.
- Produce it according to Cover & Motion. Apply the animate principles from Emil Kowalski: purposeful, restrained, continuous motion and a clear rhythm. The user has specified Remotion, so do not execute the upstream tool-substitution step or mechanically apply interactive component duration limits to an explanatory video.
视觉表达
Visual expression
- 默认让主题中的对象出现在画面中:产品 PNG、咖啡杯、汽车、列车、奖牌、城市照片、天气 emoji 等;挑选与内容有关的一组统一风格素材,不是给图表角落贴装饰。
- 设计对象的入场、运动、排列、替换或状态变化来解释内容。例如列车驶过年份节点、咖啡杯带出门店卡片、城市画面随季节切换。
- 按主题组合场景、图片对比、图标阵列、时间线、过程演示、重点文字和必要图表。纯图表只在确实最清楚或用户指定时采用。
- 使用图片或 emoji 时读 图片与图标,负责找素材、检查可用性并加入工程;无需让用户先提供素材才开始。
- By default, place objects from the subject in the frame: product PNGs, coffee cups, cars, trains, medals, city photos, weather emojis, and so on. Select a cohesive set of assets relevant to the content rather than decorating the corner of a chart.
- Design each object's entrance, movement, arrangement, replacement, or state change to explain the content. For example, a train can move past year markers, a coffee cup can bring out a store card, and a city scene can change with the seasons.
- Combine scenes, image comparisons, icon arrays, timelines, process demonstrations, key text, and necessary charts according to the subject. Use a chart on its own only when it is genuinely the clearest option or the user explicitly requests it.
- When using images or emojis, read Images & Icons, which is responsible for finding assets, checking usability, and adding them to the project; there is no need to ask the user to provide assets before starting.
搜索默认值
Search defaults
- “最近 3 年”:截至最新可靠已完成观测日的滚动三年,注明首尾实际日期,不默认成三个年末值。月度图用已完成月末观测;最新未完成月只能单独注明。
- “全年温度”未给年份:采用最近一个完整自然年,默认月平均气温;在结果开头说明选择。若意图明显是常年气候,使用有明确基准期的气候平均值。
- 跨公司比较对齐观测日期、指标、币种,或明确使用同基期指数,保留原始绝对值。
- 允许涨、跌、持平、季节循环。不要因用户说“增长曲线”而把下降画成增长。
- 日期按用户时区解析,不用机器日期硬编码“今年”。
- “Past 3 years”: a rolling three-year period ending on the latest reliable completed observation date; state the actual start and end dates, and do not default to three year-end values. For monthly charts, use completed month-end observations; note the latest incomplete month separately.
- “Full-year temperature” with no year specified: use the most recent complete calendar year and default to the monthly average temperature; explain this choice at the beginning. If the intent is clearly long-term climate, use climate averages with an explicit baseline period.
- For cross-company comparisons, align observation dates, metrics, and currencies, or explicitly use a same-base index while retaining the original absolute values.
- Allow increases, decreases, flat periods, and seasonal cycles. Do not plot a decline as growth merely because the user asked for a “growth curve.”
- Interpret dates in the user's time zone, and do not hard-code “this year” based on the machine date.
制作与封装
Production and packaging
读 运行与交付 和 直接交付。资源路径相对于本 skill 目录;称该绝对路径为 。
SKILL_DIR- 把 作为渲染工程起点复制到本次目录,使用随附锁文件
assets/remotion/。其中折线图只是示例,应按分镜重写 composition,不是默认成品版式。不要在已安装 skill 内生成输出或安装依赖。npm ci - 示例 为合成数据,只用于测试。正式制作需替换数据和文案,去掉示例标记前完成事实核查。
data.json - 时间序列使用 检查日期、来源引用、覆盖和范围;其他内容按 数据与口径 使用匹配的事实/比较结构,不硬套日期序列。校验通过不代表来源事实已核实。
scripts/validate_data.py - 所有动画由 驱动;禁止 CSS animation、墙钟、未固定随机数、网页图库自带动画。
useCurrentFrame() - 将图片、emoji、文字、场景与图表纳入同一分镜,保留可追溯事实、静态封面、确定性渲染与验证流程。
- 从同一 composition 的完整停留帧导出 ,记录
cover.jpg。封面画面必须出现在动画内,still-image-time 指向同一时间。coverFrame / fps - 用 将无声 H.264 视频与 JPEG 封面写成配对资源。这是中间步骤,不算交付完成;其他输入先转码,不默默丢弃用户音轨。
scripts/pair_live_photo.swift - 封装完成后禁止再次普通转码 paired MOV,否则可能丢失元数据轨道。
- 用 生成命名明确的单个
scripts/package_live_photo.py包;将其标为实况资源包,不承诺 iPhone「文件」App 可直接预览;不自动打开或导入「照片」App,不修改照片库。不得停在 JPG + MOV 配对资源。.pvt
Read Runtime & Delivery and Direct Delivery. Asset paths are relative to this skill directory; refer to that absolute path as .
SKILL_DIR- Copy as the starting point for the rendering project into the current directory, and use the included lockfile with
assets/remotion/. Its line chart is only an example, and the composition should be rewritten according to the storyboard rather than treated as the default finished layout. Do not generate output or install dependencies inside the installed skill.npm ci - The sample contains synthetic data for testing only. For a production piece, replace the data and copy, and complete fact-checking before removing the sample marker.
data.json - For time series, use to check dates, source references, coverage, and ranges. For other content, use a matching factual/comparison structure according to Data & Methodology; do not force it into a date series. Passing validation does not mean the source facts have been verified.
scripts/validate_data.py - Drive every animation with ; CSS animation, wall-clock time, unseeded randomness, and built-in animations from web image libraries are prohibited.
useCurrentFrame() - Integrate images, emojis, text, scenes, and charts into a single storyboard, preserving traceable facts, a static cover, deterministic rendering, and a validation workflow.
- Export from a complete hold frame of the same composition, and record
cover.jpg. The cover image must appear within the animation, and still-image-time must point to the same moment.coverFrame / fps - Use to write the silent H.264 video and JPEG cover as paired resources. This is an intermediate step, not completed delivery; transcode other inputs first, and do not silently discard the user's audio track.
scripts/pair_live_photo.swift - After packaging, do not run a standard transcode on the paired MOV again, because doing so may lose its metadata track.
- Use to generate a single, clearly named
scripts/package_live_photo.pypackage. Label it as a Live Photo resource package; do not promise that the iPhone Files app can preview it directly. Do not automatically open or import it in the Photos app, and do not modify the photo library. Do not stop at a JPG + MOV paired resource..pvt
验证与完成标准
Verification and completion criteria
先检查事实和素材,再预览封面和视频:抽查开始、主要动作中段、转场、数据极值(如有)和封面停留帧;检查图片加载、emoji 字形、透明边缘、中文字体、标签遮挡、数值同步、单位日期与裁切。确认动作在解释主题,而非只有数字和条形变化。真实曲线不使用引入虚假峰谷的平滑;缺测处断线。
分别记录状态,不把前一项当作后一项成功:
- 数据与来源核实;机器校验只是其中一部分。
- 封面和 MP4 渲染完成,素材与主要动作可见,元数据及画面检查通过。
- Live Photo 标识匹配、timed metadata 时间位置正确。
- 本机加载成功或具体失败。
PHLivePhoto.request - 包完整、配对资源哈希一致。
.pvt - 相册导入、设备播放、第三方平台上传及锁屏兼容性均为可选事项,只有用户另外明确请求时才操作并记录,不作为文件交付的前置条件。
没有 macOS 时完成数据、封面、工程及视频,保留封装命令,明确 Live Photo 未生成;完成本机加载与包完整性验证后可交付 .pvt 资源包;这不证明手机预览、保存或播放成功。
Check facts and assets first, then preview the cover and video: spot-check the beginning, the midpoint of the main action, transitions, data extrema (if any), and the cover hold frame; inspect image loading, emoji glyphs, transparent edges, Chinese fonts, label occlusion, value synchronization, units, dates, and cropping. Confirm that the motion explains the subject rather than merely showing changing numbers and bars. Do not smooth real curves in a way that introduces artificial peaks or troughs; break the line at missing observations.
Record each status separately, and do not treat success in one as proof of the next:
- Data and source verification; machine validation is only one part of it.
- The cover and MP4 have been rendered, assets and primary motion are visible, and metadata and frame checks have passed.
- The Live Photo identifier matches, and the timed metadata is positioned correctly.
- loads successfully on the local machine, or the specific failure is documented.
PHLivePhoto.request - The package is complete, and the paired resource hashes match.
.pvt - Gallery import, device playback, third-party platform uploads, and lock-screen compatibility are optional. Perform and document them only when the user explicitly requests them; they are not prerequisites for file delivery.
Without macOS, complete the data, cover, project, and video, retain the packaging commands, and clearly state that the Live Photo was not generated. After local loading and package-integrity validation, the resource package can be delivered; this does not prove that the phone can preview, save, or play it.
.pvt交付
Delivery
每个主题独立目录,同时提供可直接观看的预览和 实况资源包,保存 。另保留 、原始证据、、含本地素材的可编辑 Remotion 工程、素材清单 (使用素材时)、、、内部 配对资源及 manifest、。压缩包只用于传输,不是可直接识别的 Live Photo。
主题名称.pvtdelivery.jsondata.jsonsources.mdassets.jsoncover.jpgmotion.mp4live/qa.json优先展示可观看的封面/动态预览,另附 资源包链接、数据截止日及验证状态。用户要求手机直接预览时,核实其接收路径;不能仅凭文件包生成或本机加载成功宣称已满足。传输界面不支持目录包时附 ,注明解压后得到资源包,仍需支持 Live Photo 的应用读取。网页 LivePhotosKit 预览与保存为原生实况照片是两项能力,未实现的能力不承诺。封面和 MP4 只能标作预览;聊天界面不能原生展示 Apple 实况时简短说明。不要把“直接交付 Live Photo”解释成导入相册,不索取照片库权限,也不自动打开可能触发导入的 .pvt。未经请求不发布到社交平台。
.pvt.pvt.zipCreate a separate directory for each subject and provide a directly viewable preview and a Live Photo resource package, along with . Also retain , the original evidence, , the editable Remotion project with local assets, the asset manifest (when assets are used), , , the internal paired resources and manifest, and . The archive is for transmission only and is not a directly recognizable Live Photo.
Topic Name.pvtdelivery.jsondata.jsonsources.mdassets.jsoncover.jpgmotion.mp4live/qa.jsonPrioritize showing a viewable cover/dynamic preview, then attach the resource package link, the data cutoff date, and validation status. If the user requests direct preview on a phone, verify the receiving path; do not claim that the request has been met merely because the file package was generated or local loading succeeded. If the transfer interface cannot send a directory package, attach and state that extracting it yields the resource package, which must still be read by an app that supports Live Photo. LivePhotosKit web previewing and saving as a native Live Photo are two separate capabilities; do not promise capabilities that have not been implemented. Label the cover and MP4 only as previews; if the chat interface cannot display Apple Live Photos natively, explain briefly. Do not interpret “direct delivery of a Live Photo” as importing into the photo library, do not request photo-library permissions, and do not automatically open a that could trigger an import. Do not publish to social platforms unless requested.
.pvt.pvt.zip.pvt示例触发
Example triggers
-
“用 LiveCanvas 做小米最近三年的市值变化。”
-
“苹果和小米近三年市值做成两张实况图,风格统一。”
-
“把北京去年的全年气温做成 Live 图,封面也设计好。”
-
“把这份数据做成会动的信息图,导出苹果实况照片。”
-
“用咖啡杯 PNG 和门店卡片,做瑞幸与星巴克的扩张故事。”
-
“用列车、年份节点和里程数字,做中国高铁的实况动效。”
-
“Use LiveCanvas to visualize Xiaomi's market capitalization over the past three years.”
-
“Turn Apple's and Xiaomi's market capitalizations over the past three years into two Live Photos with a consistent visual style.”
-
“Turn last year's full-year temperature in Beijing into a Live Photo, and design the cover as well.”
-
“Turn this dataset into an animated infographic and export it as an Apple Live Photo.”
-
“Use a coffee cup PNG and store cards to create an expansion story for Luckin Coffee and Starbucks.”
-
“Use a train, year markers, and mileage figures to create a Live Photo motion graphic about China's high-speed rail network.”