cadence は何をしますか?
Cadenceでプログラム動画を作成、編集、プレビュー、レンダリング — Lua + LÖVE2D、ブラウザ不要のRemotion/HyperFrames代替。コンポジションは純Luaファイル;cadence render comps/foo.lua -o out.mp4 で動画を生成します。Cadence/ellua Lua コンポジションでモーショングラフィックス、キャプション、タイトルカード、縦型ショートを作成、編集、アニメーション化、デバッグ、レンダリングする際にロードしてください。コンポAPI、CLI(render、verify、lint、check)、決定性ルール、必須の検証ループをカバーします。
サポートプラットフォーム: Claude Code, Cursor, Codex CLI, その他AIエージェントCLI
使い方
-
新しいコンポジションを作成:
-- comps/my_composition.lua return function(state, ctx) return { layers = { { type = "text", content = "Hello Cadence", position = { x = 100, y = 100 }, style = { color = { 1, 1, 1, 1 }, font_size = 48 } } } } end -
レンダリング:
cadence render comps/my_composition.lua -o output.mp4 -
検証ループ:
cadence verify comps/my_composition.lua
コアAPI
| 関数 | 説明 |
|---|---|
render(state, ctx) | 現在のフレームのレイヤーリストを返す |
state | 前のフレームからの状態(決定論的) |
ctx | コンテキストオブジェクト(ctx.frame、ctx.fps、ctx.duration など) |
CLIコマンド
cadence render <file> -o <output>— 動画をレンダリングcadence verify <file>— 決定性を検証(複数回のレンダリングが同一結果になることを確認)cadence lint <file>— ベストプラクティスをチェックcadence check <file>— 構文とAPI使用法をチェック
決定性ルール
- コンポジション関数は純粋関数でなければならない
- 外部状態(ファイルシステム、ネットワーク、乱数)の使用禁止
stateオブジェクトのみがフレーム間で変化可能- すべてのタイムスタンプとアニメーションは
ctx.frameを基準とする
詳細は 公式ドキュメント を参照してください。