anidoodle は何をしますか?
すべてをコードで描画する絵・フィルム・インタラクティブ作品。一つの純粋関数がすべてのフレームを描き、別の関数がすべてのオーディオサンプルを構成・合成します。同じソースから、どのマシンでも、どのサイズでも、どの長さでも、同じピクセルと同じサウンドを再現します。
エンジンは簡単な部分です。作品は、目的がない、主題がアイコンそのもの、スタイルが単なるパレット替え、音楽に形式がない、または人が断片を承認するのに忍耐を使い果たしたために捨てられます。このスキルは、それらすべてを防ぐ技法を担います。
まずは質問から始め、構築へ
references/workflows/start-here.md を読み、そのインテークを実行します:一度に一つの質問、リクエストが未定にしていることだけ、あなたの推奨を先に。何を作っているのか、どのスタイルで(ギャラリーシート https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg を表示;リストは references/styles/INDEX.md)、どの形状(1x1, 9x16, 16x9, 4x5 または任意の W x H)、どのくらいの長さ(任意の長さ;上限なし)、どのようなサウンド(無音または音楽スタイルとムード)、どのキャラクター。「あなたが選んで」は、選んでその理由を一行で述べることを意味します。描く前に、それらの答えを短いブリーフにまとめてください。
何を作っていますか?
| 制作物 | 参照先 |
|---|---|
| 静止画:ヒーロー、スポット、カバー、カード、ポスター、シリーズ | 以下の静止画ワークフロー、references/formats.md |
| 描画過程を映す絵(タイムラプス、メイキング) | references/workflows/drawing-process.md |
| ループ、ステッカー、アニメーションロゴ、アンビエントヘッダー | 以下のループワークフロー、references/formats.md |
| ストーリーフィルム、任意の長さ | 以下のフィルムワークフロー、references/workflows/long-film.md |
| 解説動画またはインフォグラフィック | references/workflows/explainer.md |
| ローンチまたはプロダクトビデオ(ユーザーのスクリーンショット歓迎) | references/workflows/launch-video.md;references/workflows/launch-video-kit.md 上に構築 |
| UIに反応するインタラクティブなWebアニメーション | references/workflows/interactive.md |
| 描画レッスン、または「これをどう描く?」 | references/workflows/teach-drawing.md |
| どのスタイルでも同一に保たれるキャラクター(木版画からブロックまで) | references/workflows/character-consistency.md、references/anatomy.md |
| ユーザーの画像からスタイルを適合 | references/workflows/adapt-a-style.md |
| スコアまたはサウンドトラック | references/music/README.md |
- 音楽:フィルム用に自分でスコアを作成(
references/music/README.md);node tools/music.mjs check <score.ts#export>が PASS すること。人間が聴く前に行う。 - 効果音:
references/music/sound-design.md。14のレイヤー化されたシード指定の効果音をフィルムフレームにキューイング(filmSfx);スコアはダッキングされ、各キューはスコアから6dB以内でなければならない。効果音は実際の方向転換のときのみ、各フィルムにつき1つのライザー+1つのインパクト。 - ローンチフィルム:
launchTemplate.tsがデータから製品のローンチをレンダリング:プロンプト、そのために描かれたプレート、スコア、言葉、インストール行;トークンを節約する習慣はreferences/working-method.mdにあり。
七つの法則
- すべての作品には目的がある。 静止画:一つのアイデア、一つの焦点主題、一つの光。フィルム:一つの変容、一つの見返り、一つの戻ってくるトークン。→
references/storytelling.md - リアリズムを明示する。 動物、物体、人物を問わず、解剖学、視点、開いた参考資料を明示する。→
references/realism-and-craft.md、references/anatomy.md - スタイルはマークの作り方である。 パレットを超えて、媒体、エッジ、マークの順序を変える。→
references/styles.md - 一つの静止画でルックを証明し、それからエンドツーエンドで構築する。 その後は、ゲートは節約以上にコストがかかる。→
references/working-method.md - 契約は絶対である。 純粋に
(frame, env)(インタラクティブ作品では入力ログも)のみ、rng(seed)のみ、時計なし、ctx.filterなし。生成またはダウンロードされたものはなし;ユーザーが持ち込んだ画像はハッシュで埋め込まれ、固定される。→references/determinism-and-contract.md - 音楽には計画を、決して形容詞だけを与えない。 スタイル、セクションごとのムード、データとしての音符、そして測定値。あなたはそれを聴けないので、出荷前に一人の人間が聴く。→
references/music/ - 一人が監督し、一人が構築し、両方がすべてを書き留める。 セッションが劣化したらリセットする;ファイルが記憶である。→
references/working-method.md
ワークフロー
静止画。 (1) アイデアを一文で述べる;焦点主題と光を明示する。 (2) 存在するものすべてに実際の参考資料を開き、どれを使用したか書き留める。 (3) スタイルを選び、そのプレートのヘッダーを最初に読む。 (4) その媒体の順序で描画する。 (5) still.mjs でフルサイズでレンダリングし、クロップ(顔、手、足、関節;references/craft-bar.md 参照)に対してディテールパスを実行し、書面で批評する。✋ 承認は一度。 (6) 同じソースから要求されたすべてのサイズと形状を納品し、reproducible と印刷されたことを述べる。
ループ。 静止画と同様に、加えて:すべての動きはループ周期で、主題は決して止まらず、毎秒何かが動く。シームを確認する(最終フレームとフレーム0の比較)。✋ 承認は一度、動いているファイルに対して。
フィルム。 (1) 三文でストーリー(設定、変容、見返り)とトークン;長いフィルムの場合は、スパインと章ごとに一行。それが書けなければ、やめる。 (2) グリッド:ビートは 60 x fps / bpm フレーム(bpmはブリーフのスコアから);一つのキュー表がすべてのフレーム番号を保持し、ロード時にチェッカーが実行される。 (3) 存在するものすべてに対して実際の参考資料。 (4) ワンルック静止画、最も難しいフレーム、書面で批評。✋ 承認。 (5) ワン8秒の音楽サンプル。 ✋ 承認。 (6) 全フィルムを構築;機械的チェックが継続的に実行される。 (7) レンダリングされたファイルから一度レビュー:ビートごとのコンタクトシート、各カットをペアで、無音部分のカウント。一つの順位付き修正リスト、一度の再構築。 (8) ✋ 最終承認。 検証したことと検証できなかったことを述べる。
最大3つの承認ゲート。承認は予算である;間違えていた場合のコストが高いところに使う。
クラフト基準
テスト:誇り高き人間のイラストレーターがこれを出荷するか、それとも機械的な形状組み立てか? すべての特徴の完全な表は references/craft-bar.md にあります。最も多く作品を台無しにするもの:楕円で構成された主題、一つのスタイルを別の色に変えただけのもの、描かれずにフェードインするもの、ゴム関節の人、ショットごとに異なる描かれ方をするキャラクター。
動くものすべてに無音(デッドエア)なし:毎秒何かが目に見えて変化する。自分自身を描画するフィルムは kind: "drawing" を宣言し、より細かい基準で評価される;フリーズは依然として不合格。
エンジン
engine/ はポータブルなアートコアとツール群。engine/src/canvas-core はDOMやバックエンドについて何も知らない。W、H、fps、durationFrames はフィルムの meta から取得する。カメラ移動(パン、ズーム、パララックス、シェイク)は engine/src/canvas-core/camera.ts から:references/camera.md。render.mjs --blur N でモーションブラー(N個のサブフレームを線形光で平均化)をレンダリング;デフォルトパスはそのまま。
node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12 # 秒
cd ~/art && npm install && npx playwright-core install chromium
node tools/still.mjs intro --frame 0 --out out/look.png --scale 2 # 静止画、ハッシュ付き
node tools/render.mjs intro # MP4;`--out x.gif|x.webm|x.apng`
node tools/gate.mjs intro # 決定論、契約、デッドエア
node tools/emit.mjs intro --out out/intro.html # 独立したオフライン再生ファイル
| ツール | 機能 |
|---|---|
scaffold.mjs | 静止画および/またはフィルム用プロジェクト;--duration、--format または --size、--fps、--bpm |
still.mjs / render.mjs | ハッシュ付きで二回描画されるフレーム(--frames a,b,c --sheet で一つのブラウザ内) / 任意の形式で作品(--from/--to、--poster-frame、--hashes) |
gate.mjs | 決定論、契約、デッドエア、アーティファクト;--self-test で失敗可能であることを証明 |
registry.mjs / gallery.mjs | プレート自体からのスタイルリスト / ギャラリーシート |
docs-check.mjs | どのドキュメントのスタイル数、長さ、パスがコードと一致しない場合に失敗 |
verify-export.mjs | レンダリングファイルのQA:フレーム、期間、スコア;オプトインの最初のフレーム、ループシーム、--delivery |
test.mjs(npm test) | engine/test/ 内のユニットスイート、ブラウザ不要 |
music.mjs | スコアをレンダリングしレベルを計測;check でゲート(キー、マスター、ガード、ステム、新規性) |
sfx.mjs | 効果音キット:list、one、kit <dir>、test |
4つのバックエンド、一つのアートコア:playwright、html-player、remotion、hyperframes。→ references/backends-and-adapters.md
動作例
- スタイルプレートは
engine/src/canvas-core/に:すべてのスタイルに静止画とその描画過程のフィルムがあり、ヘッダーにレシピ、references/styles/<id>.mdに詳細。 - MECHANICAL LEPIDOPTERA は
example/に:47秒のスコア付きフィルム。scaffold.mjs ~/study --example。
それらを学べ。コピーするな。 クラフト基準は継承で満たされない。
正直な限界
あなたはスコアを聴くことができず、フィルムの動きを見ることができず、インタラクティブ作品を使うことができない。それらに関するすべての主張は、測定値か人間からのものである;どちらかを明示せよ。緑のチェックマークは、再実行するまでは主張に過ぎない。静止画を信頼する前に、--scale 2 で一フレームをレンダリングせよ:間違った変換でブリットされたレイヤーは1倍では正しく見えても2倍で壊れる。