hatch-pet について
hatch-petは、コンセプトや参考画像からCodex互換のアニメーションペットを作るスキルです。プロンプト計画、フレーム処理、品質確認、パッケージ化を担い、画像生成は$imagegenに委ねます。
主な機能
- 01コンセプトや参考画像からペットを作成
- 02アニメーション行とプロンプトの計画
- 03フレーム抽出とアトラス合成
- 04プレビューと出力品質の確認
- 05ペットファイルのパッケージ化
活用シーン
- 01テキストからアニメーションペットを作成
- 02参考画像をペットアニメーションに変換
- 03アニメーション行の確認と修正
- 04Codexペットファイルの生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nexu-io/ open-design --skill hatch-petインストール後、Claude Code で/hatch-petを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtREADME.mdagents/openai.yamlreferences/animation-rows.mdcodex-pet-contract.mdqa-rubric.mdscripts/compose_atlas.pyderive_running_left_from_running_right.pyextract_strip_frames.pyfinalize_pet_run.pygenerate_pet_images.pyinspect_frames.pymake_contact_sheet.pypackage_custom_pet.pypet_job_status.pyprepare_pet_run.pyqueue_pet_repairs.pyrecord_imagegen_result.pyrender_animation_videos.pyrender_animation_videos.shtest_generate_pet_images.pyvalidate_atlas.py詳細
Hatch Pet
OpenDesign との連携。 これは、変更を加えていない Codex の
hatch-petスキルです。 どの OpenDesign エージェントでも実行できるよう、skills/hatch-pet/にベンダーとして取り込まれています。スキルによるパッケージ化が完了すると、生成されたspritesheet.webp(${CODEX_HOME:-$HOME/.codex}/pets/<pet-name>/内)を、Settings → General → Pets → Import Codex sprite からフローティングペットコンパニオンにインポートできます。 インポート時に 8×9/192×208のアトラスが自動検出され、再生するアニメーションの行(待機、右への移動、手を振る動作など)を選択できます。
概要
コンセプト、1 枚以上の参照画像、またはその両方をもとに、Codex 互換のアニメーション付きペットを作成します。このスキルは、ペット固有のプロンプト計画、アニメーションの行、フレーム抽出、アトラスの形状、品質保証、プレビュー、パッケージ化を担います。ビジュアルの生成は $imagegen に委任します。
ユーザー向けの入力は任意です。ユーザーがペット名を省略した場合は、コンセプトまたは参照ファイル名から推測します。それができない場合は、適切な短い名前を選びます。ユーザーが説明を省略した場合は、コンセプトまたは参照画像から推測します。ユーザーが参照画像を省略した場合は、まずテキストからベースとなるペットを生成し、そのベースをすべてのアニメーション行の正式な参照画像として使用します。
生成の委任
通常のビジュアル生成には、すべて $imagegen を使用します。
ベースアート、行ストリップ、または修復用の行を生成する前に、インストール済みの画像生成スキルを読み込み、その指示に従ってください。
${CODEX_HOME:-$HOME/.codex}/skills/.system/imagegen/SKILL.md
通常のフローでは、Image API を直接呼び出さないでください。組み込み機能を優先する方法と CLI フォールバックのルールは、$imagegen 自身に選択させてください。フォールバックにユーザーの確認が必要だと $imagegen が伝えた場合は、続行する前にユーザーに確認してください。
このスキルから $imagegen を呼び出す際は、生成したペットのプロンプトを、正式なビジュアル仕様として渡してください。汎用の $imagegen 共有プロンプトスキーマで包んだり、追加の仕上げ、ヒーローアート、写真、製品、イラストスタイルの指示を加えたりしないでください。ペットのプロンプトは簡潔にし、スプライトとデジタルペットに特化させてください。入力画像の役割ラベルと、ユーザーが指定した必須条件のみを追加してください。
このスキルのスクリプトは、決定論的な処理にのみ使用してください。具体的には、プロンプトとマニフェストの準備、選択した $imagegen 出力の取り込み、フレームの抽出、行の検証、最終アトラスの合成、品質保証用メディアの作成、パッケージ化です。
厳守事項:$imagegen の代替として、ローカルの Python/Pillow スクリプト、SVG、canvas、HTML/CSS、その他のコードで描画する手段を使って、ペットのビジュアルを作成、描画、タイル化、変形、反転、合成しないでください。通常のペット作成では、最大 10 件のビジュアル生成ジョブを想定してください。内訳は、ベースとなるペットが 1 件、行ストリップのジョブが 9 件です。例外は running-left のみです。running-right の生成、目視確認、明示的な反転可能の承認がすべて完了した後に限り、running-right を反転して作成できます。反転が適切でない場合は、通常どおり $imagegen を使用して、地面に接した running-left を生成してください。これらの呼び出しの費用が高すぎる場合、ブロックされている場合、または利用できない場合は、そこで中止して問題を説明し、ローカルで行ストリップを捏造しないでください。
imagegen-jobs.json を編集する、ファイルを decoded/ にコピーする、または行の出力を生成するヘルパースクリプトを記述することで、ビジュアル生成ジョブを完了扱いにしないでください。選択した組み込み $imagegen 出力には record_imagegen_result.py を使用してください。文書化された第 2 のフォールバックには generate_pet_images.py のみを使用してください。決定論的なスクリプトで処理できるのは、すでに生成済みのビジュアル出力だけです。
プロンプトのみで生成できるのはベースジョブだけです。$imagegen で生成するすべての行ストリップジョブでは、ベースジョブの記録後に作成された正式なベース参照画像を含め、imagegen-jobs.json に記載された入力画像を使用する必要があります。参照画像を添付せずに生成した行は、無効として扱ってください。
Codex のデジタルペットスタイル
デフォルトのペットアートは、Codex アプリに組み込まれているデジタルペットに合わせてください。コンパクトなちびキャラ風の体型、太く読み取りやすいシルエット、濃い色の太い 1~2 px の輪郭線、段差のあるピクセル風のエッジ、限られた色数、フラットなセルシェーディング、表情豊かなシンプルな顔、小さな手足を備えた、ピクセルアートに近い小さなマスコットです。参考アートがより精細で複雑、あるいはリアルでも、生成するペットはこのスタイルに合わせて簡略化してください。
洗練されたイラスト、絵画風の描画、アニメのキービジュアル、3D レンダリング、光沢のあるアプリアイコン風の処理、リアルな毛並みや素材の質感、滑らかなグラデーション、高精細なアンチエイリアス、複雑で小さなアクセサリーは生成しないでください。これより精細な参考画像は、行を生成する前に、基本のスタイルに合わせて簡略化してください。
透過とエフェクト
ペットの各行は、透過処理される 192x208 のセルに変換されます。そのため、生成される各ピクセルは、ペットのスプライトに属するか、クロマキー背景としてきれいに除去できる必要があります。装飾的なエフェクトより、ポーズ、表情、シルエットの変化を優先してください。
許可されるエフェクトは、以下の条件をすべて満たす必要があります。
- 状態に関係し、アニメーションの説明に役立つ。
- ペットのシルエットに物理的に付着している、触れている、または重なっている。近くに浮いているものは不可。
- ペットと同じフレーム枠内にあり、独立したスプライト要素を作らない。
- 不透明で、輪郭がはっきりしたピクセルスタイルであり、クロマキー色を使っていない。
- ごちゃつかず、192x208 で読み取れる大きさである。
許可されるエフェクトの例:顔に触れている涙、箱や頭に触れている小さな煙、失敗時や目まいのリアクション中にペットに重なる小さな星。
通常は、透過背景のクリーンアップや要素の抽出を妨げることが多いため、以下は避けてください。
- 波線、動きの弧、スピード線、アクション線、残像、ぼかし、かすれ
- 離れた星、単独のきらめき、浮かぶ句読点、浮かぶアイコン、落ちる涙、離れた煙の雲、単独のほこり
- 落ち影、接地影、ドロップシャドウ、楕円形の床の影、床のパッチ、着地マーク、衝撃のバースト、グロー、ハロー、オーラ、または半透明の柔らかいエフェクト
- テキスト、ラベル、フレーム番号、表示されるグリッド、ガイドマーク、吹き出し、思考の吹き出し、UI パネル、コードスニペット、透過を示す市松模様、白い背景、黒い背景、または風景
- ペット、プロップ、エフェクト、ハイライト、影に使われる、クロマキー色に近い色
- 余分なピクセル、つながっていない輪郭線の断片、斑点やノイズ、切れた体の部分、重なり合うポーズ、または隣のフレーム枠にはみ出すポーズ
状態ごとの指針:
waving:前足のポーズだけで手を振る様子を表してください。前足の周りに波線、動きの弧、線、きらめき、記号を描かないでください。jumping:体の位置だけで縦方向の動きを表してください。影、ほこり、着地マーク、衝撃のバースト、バウンスパッド、床の手がかりを描かないでください。failed:許可されたエフェクトのルールに従う場合、涙、付着した煙、または付着した星を使えます。赤い X 印、浮かぶ記号、離れた煙、離れた星、独立した涙のしずくは使わないでください。review:体の傾き、まばたき、目、頭の傾き、または前足の位置で集中している様子を表してください。プロップがベースとなるペットのアイデンティティにすでに含まれていない限り、虫眼鏡、紙、コード、UI、句読点、記号を追加しないでください。running-right、running-left、running:体、手足、プロップの動きだけで移動を表してください。スピード線、ほこりの雲、床の影、動きの軌跡を描かないでください。
ペットの命名
ユーザーがペットの名前を指定していない場合は、会話の流れに自然に沿うときに限り、名前を尋ねてください。直接的な実行依頼の妨げになる場合は、ペットのコンセプト、参考画像、または性格から短く適切な名前を選び、その名前を表示名として一貫して使用するとともに、パッケージフォルダーのスラッグの元にしてください。
適切な組み込みスタイルの例:
- Codex - 初代Codexの相棒。
- Dewey - 落ち着いて作業する日にぴったりの、きちんとしたアヒル。
- Fireball - 素早い反復作業のための、ホットパスなエネルギー。
- Rocky - 差分が大きくなっても頼りになる岩。
- Seedy - 新しいアイデアから芽吹く、小さな緑の新芽。
- Stacky - 集中して作業するための、バランスの取れた積み重ね。
- BSOD - 小さなブルースクリーンのいたずら者。
- Null Signal - 虚空から届く静かなシグナル。
進捗の可視化
ペットを作成するたびに、作業の進み具合がユーザーにわかるよう、チェックリストを表示してください。作業を始める前にチェックリストを作成し、一度にアクティブにするステップは1つだけにして、各ステップが終わるたびに更新してください。
チェックリストを作成する前に、可能であればペットの名前を決めてください。ユーザーが名前を指定している場合はその名前を使い、そうでなければコンセプトや参考資料から短く適切な名前を考えてください。名前が長すぎる、未確定、または親しみやすいチェックリストに適さない場合は、代わりに your pet を使ってください。
通常のペット作成では、<Pet> をペットの名前または your pet に置き換えて、次のチェックリストを使ってください。
<Pet>の準備をします。<Pet>の主な見た目をイメージします。<Pet>のポーズを描きます。<Pet>を誕生させます。
各ステップの内容:
Getting <Pet> ready.ペットの名前、説明、ソース画像、作業フォルダーを選択または確認します。Imagining <Pet>'s main look.ペットのメインとなる参考画像を生成します。ユーザーが画像を提供していない場合でも、これは新しいペットに必須です。見た目の基準画像となるためです。Picturing <Pet>'s poses.idleからポーズの行を作成し、続けてrunning-rightを作成して、ペットの見た目に一貫性があることを確認します。左右反転したrunning-leftが明らかに問題ない場合に限り、これを使用します。Hatching <Pet>.承認されたポーズを最終的なペットファイルにします。コンタクトシート、プレビュー、検証結果を確認し、問題があれば修正します。pet.jsonとspritesheet.webpをペットのフォルダーに保存したら、ペットとQAファイルの保存場所をユーザーに伝えます。
実際のファイル、画像、または決定がそろった場合にのみ、ステップを完了扱いにしてください。修正作業だけの場合は、チェックリスト全体をやり直すのではなく、最初に該当するステップから始めてください。
デフォルトのワークフロー
- ペットの実行フォルダーと imagegen ジョブマニフェストを準備します。
SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/hatch-pet"
python "$SKILL_DIR/scripts/prepare_pet_run.py" \
--pet-name "<Name>" \
--description "<one sentence>" \
--reference /absolute/path/to/reference.png \
--output-dir /absolute/path/to/run \
--pet-notes "<stable pet description>" \
--style-notes "<style notes>" \
--force
ユーザーの制約を表すために必要なフラグを除き、上記のすべての引数は省略可能です。テキストのみのリクエストでは、コンセプトを --pet-notes で渡し、--reference は省略してください。prepare_pet_run.py が必要に応じて、名前、説明、クロマキー、出力ディレクトリを推測します。
- 次に実行可能な
$imagegenジョブを確認します。
python "$SKILL_DIR/scripts/pet_job_status.py" --run-dir /absolute/path/to/run
- 実行可能な各ジョブについて、以下を指定して
$imagegenを呼び出します。
imagegen-jobs.jsonに記載されたプロンプトファイル- そのジョブに記載されたすべての入力画像と、それぞれの役割ラベル
$imagegen自体で別の方法にルーティングされない限り、デフォルトの組み込みimage_genパス
ベースジョブを最初に完了させる必要があります。ユーザーの参照画像がある場合は、ベースジョブで使用します。参照画像がない場合、ベースジョブはプロンプトのみでもかまいません。ベースを記録すると、record_imagegen_result.py が decoded/base.png と references/canonical-base.png を書き込みます。その後、すべての行ジョブで、元の参照画像があればそれらと、正規化されたベース画像を使用します。
prepare_pet_run.py は、アニメーションの各状態に対応する行固有のレイアウトガイド画像も references/layout-guides/ に9枚作成します。行ジョブでは、正しいフレーム数、間隔、中央揃え、安全な余白をモデルが守れるよう、対応するガイドをレイアウト専用の入力として添付します。これらのガイドは、見えない構成用の参照画像として扱ってください。生成する行スプライトシートに、目に見えるボックス、境界線、中央マーク、ラベル、ガイドの色、ガイドの背景を含めてはいけません。
行スプライトシートを生成する際は、行プロンプトのアイデンティティロックを優先してください。ペットを再デザインせず、頭の形、顔、模様、配色、小道具、輪郭線の太さ、体のプロポーション、シルエットを同一に保ちます。幾何学的なQAに合格しても、関連はあるものの別のペットに見える行は不合格です。
running-left の作成方法を決める前に、running-right を生成して記録します。running-right をベースと参照画像に照らして確認してください。ペットが視覚的に十分左右対称であり、水平反転してもアイデンティティ、小道具の配置、利き手、模様、照明、文字のない細部、方向の意味が保たれる場合は、次の方法で running-left を作成します。
python "$SKILL_DIR/scripts/derive_running_left_from_running_right.py" \
--run-dir /absolute/path/to/run \
--confirm-appropriate-mirror \
--decision-note "<why mirroring preserves this pet's identity>"
左右で異なる模様、判読可能なテキスト、反転できないロゴ、利き手が関係する小道具、片側だけのアクセサリー、照明の手がかり、反転すると不自然になる方向固有のポーズが少しでもある場合は、反転しないでください。行プロンプトと、decoded/running-right.png を歩容の参照画像として含む、記載済みのすべての基準画像を使って、$imagegen で running-left を生成します。
組み込みパスでは、$CODEX_HOME/generated_images/.../ig_*.png にある選択済みのソース画像を記録してください。実行フォルダー、tmp/、手作業で作成したフィクスチャ、決定論的な行フォルダー、後処理したコピーのファイルを、ビジュアルジョブのソースとして記録しないでください。
- ジョブの生成出力を選択したら、取り込みます。
python "$SKILL_DIR/scripts/record_imagegen_result.py" \
--run-dir /absolute/path/to/run \
--job-id <job-id> \
--source /absolute/path/to/generated-output.png
これにより、画像が決定論的なパイプラインで期待される正確なデコード先のパスにコピーされ、ソースのメタデータが imagegen-jobs.json に記録されます。
- すべてのジョブが完了したら、最終処理を行います。
python "$SKILL_DIR/scripts/finalize_pet_run.py" \
--run-dir /absolute/path/to/run
想定される出力:
run/
pet_request.json
imagegen-jobs.json
prompts/
decoded/
frames/frames-manifest.json
final/spritesheet.png
final/spritesheet.webp
final/validation.json
qa/contact-sheet.png
qa/review.json
qa/run-summary.json
qa/videos/*.mp4
パッケージ出力は、デフォルトでは実行ディレクトリの外に書き込まれます。CODEX_HOME が設定されている場合はそれを使用し、設定されていない場合は $HOME/.codex を使用します。
${CODEX_HOME:-$HOME/.codex}/pets/<pet-name>/
pet.json
spritesheet.webp
ペットを承認する前に、qa/contact-sheet.png、qa/review.json、final/validation.json、qa/videos/ を確認してください。
決定論的な検証は必要ですが、それだけでは不十分です。ペットの完成を宣言する前に、コンタクトシートを目視で確認し、アイデンティティに一貫性があることを確認してください。種や体型、顔、模様、配色、小道具のデザイン、小道具の予期しない側、全体のシルエットが変わっている行があれば、承認しないでください。
サブエージェントによる行の生成
ベースジョブの記録が完了し、references/canonical-base.png が存在する場合、ユーザーがこのセッションでサブエージェントを使用しないよう明示していない限り、行ストリップのビジュアル生成にはサブエージェントを使用する必要があります。行の生成を始める前に、サブエージェントを使用することと、委任する行ジョブを明示してください。現在の環境またはツールポリシーによってサブエージェントを起動できない場合は、行ストリップの生成を始める前に停止し、妨げとなっている要因を説明したうえで、順次進めてよいかユーザーに明示的な指示を求めてください。
マニフェストとパッケージの書き込みは、親エージェントが担当する必要があります。
デフォルトのフロー:
- 親エージェントが
prepare_pet_run.pyを実行します。 - 親エージェントが
baseを生成して記録します。 - 親エージェントが
pet_job_status.pyを実行します。 - 親エージェントが、アイデンティティと歩行の確認として、まず
idleとrunning-rightのサブエージェントを起動します。 - 親エージェントが、サブエージェントから返された、選定済みの
idleとrunning-rightの結果を記録します。 - 親エージェントが、
running-leftをミラーリングで安全に生成できるか判断します。安全に生成できない場合、通常の接地行ジョブとしてサブエージェントに委任します。 - 親エージェントが、残りの、派生ではない行画像生成ジョブごとにサブエージェントを起動します。
- 各サブエージェントは、行プロンプトと列挙された入力画像のすべてのパスを受け取り、
$imagegenを呼び出して、選定した$CODEX_HOME/generated_images/.../ig_*.pngのソースパスのみを返します。 record_imagegen_result.py、derive_running_left_from_running_right.py、修復ジョブの登録、最終処理、QA、パッケージ化は、親エージェントのみが実行します。
サブエージェントの書き込み境界:サブエージェントに imagegen-jobs.json の編集、ファイルの decoded/ へのコピー、record_imagegen_result.py の実行、derive_running_left_from_running_right.py の実行、finalize_pet_run.py の実行、またはペットのパッケージ化を行わせないでください。これにより、マニフェストの競合を防ぎ、プロベナンスの確認を一元化できます。
サブエージェントへの引き継ぎ契約:
- 意図的に隣接する単純な行をまとめる場合を除き、各サブエージェントには行ジョブを1つだけ割り当てます。
- 行 ID、プロンプトファイルの絶対パス、プロンプト全文またはその正確なプロンプトファイルを読むよう指示する文、ならびに
imagegen-jobs.jsonに記載された役割ラベル付きのすべての入力画像パスを含めます。 - プロンプトの透明度とエフェクトに関するルールは必須であることを、サブエージェントに明確に伝えます。切り離されたエフェクト、
wavingの波線、走行行のスピード線や砂ぼこりは禁止です。状態プロンプトで許可されている場合に限り、スプライトに付着した不透明な涙/煙/星のみを使用できます。 - 返却前に、生成候補のフレーム数、アイデンティティの一貫性、均一なクロマキー背景、安全な間隔、禁止された切り離しエフェクトの有無を確認するよう、サブエージェントに指示します。
- 選定した元の
$CODEX_HOME/generated_images/.../ig_*.pngソースパスと、1文のQAメモのみを返すよう、サブエージェントに伝えます。記録または修復するかどうかは、親エージェントが判断します。
各サブエージェントには、次のテンプレートを使用します。
Generate the `<row-id>` row for this hatch-pet run.
Run dir: <absolute run dir>
Prompt file: <absolute prompt file>
Input images:
- <absolute path> — <role>
- <absolute path> — <role>
Read and follow the row prompt exactly, including the Transparency and artifact rules. Use `$imagegen` only; do not use local scripts to draw, tile, edit, or synthesize sprites.
Before returning, visually check:
- exact requested frame count
- same pet identity as the canonical base
- clean flat chroma-key background
- complete, separated, unclipped poses
- no forbidden detached effects or slot-crossing artifacts
Do not edit manifests, copy into decoded, record results, mirror rows, finalize, repair, or package. Return only:
selected_source=/absolute/path/to/$CODEX_HOME/generated_images/.../ig_*.png
qa_note=<one sentence>
黙って順次処理に切り替えないでください:行ストリップのビジュアル生成にサブエージェントを使用できない場合は、サブエージェントを使わずに続行する前に停止し、ユーザーに明示的な指示を求めてください。「サブエージェントを使用しないでください」や「順次実行してください」といった明示的なユーザー指示がある場合に限り、通常の順次行生成フローが許可されます。最終回答では、サブエージェントに委任した行ジョブと、親エージェントがミラーリングまたは修復した行があれば、その内容を報告する必要があります。
修復ワークフロー
行のQAに失敗して最終処理が停止した場合は、対象を絞った修復ジョブを登録します。
python "$SKILL_DIR/scripts/queue_pet_repairs.py" \
--run-dir /absolute/path/to/run
次に、再開された各行ジョブについて、$imagegen による生成と record_imagegen_result.py の取り込みループを繰り返します。再生成する範囲は、失敗した行のみとし、シート全体ではなく、失敗した範囲に限定します。
アイデンティティの修復では、正規のベース画像、元の参照画像、コンタクトシート、正確な行の失敗メモを根拠として使用します。正規のペットのアイデンティティを保ちながら、失敗した行のみを修復します。
二次画像生成フォールバック
scripts/generate_pet_images.py は、このスキルの二次フォールバックです。
インストール済みの $imagegen システムスキルが利用できない場合、または現在の環境で呼び出せない場合に限り使用してください。通常のペット作成では、画像生成を $imagegen に委任してください。$imagegen は、組み込み機能を優先する画像生成ポリシーと、独自の CLI フォールバック動作を担っています。
二次フォールバックを実行するのは、$imagegen を使用できない理由を説明した後に限ります。
python "$SKILL_DIR/scripts/generate_pet_images.py" \
--run-dir /absolute/path/to/run \
--model gpt-image-2 \
--states all
二次フォールバックには OPENAI_API_KEY が必要です。
ルール
$imagegenを主要な生成レイヤーとして維持してください。- 選択した方法で参照画像を使用できる場合は、常に参照画像を
$imagegenに添付して表示してください。 - 各行の
references/layout-guides/<state>.png画像をすべての行ストリップジョブにレイアウト専用ガイドとして添付し、ガイドのピクセルをコピーした出力は受け入れないでください。 - 親がベース画像を記録した後、行ストリップの画像生成にはサブエージェントを使用してください。親がベース画像を生成しても構いませんが、このセッションではサブエージェントを使わないようユーザーが明示している場合を除き、行ストリップジョブはサブエージェントに任せてください。
- 明示的に承認された
running-leftのミラー生成を除き、すべての通常の画像生成ジョブ(ベースとすべての行ストリップ)に$imagegenを使用してください。 - プロンプトのみで生成できるのはベースジョブだけです。すべての行ジョブには、指定されたグラウンディング画像を添付してください。
- まず
running-rightを委任し、目視確認でミラーしても同一性と意味が保たれる場合に限り、running-leftをミラー生成してください。それ以外の場合は、通常のグラウンディング済み$imagegen行としてrunning-leftを委任してください。 $imagegenの出力がない行ストリップを、ローカルで描画、タイル化、変換、またはコード生成したもので決して代用しないでください。- 視覚ジョブが完了したと記録するために、
imagegen-jobs.jsonを手動で変更しないでください。 - アトラスの正確なジオメトリには生成画像を頼らず、このスキルの決定論的なスクリプトを使用してください。
pet_request.jsonに保存されているクロマキーを使用してください。固定のグリーンスクリーンを強制しないでください。- すべての行で、ペットのシルエット、顔、素材、配色、プロップの一貫性を保ってください。
- すべてのベース、行、修復のプロンプトで、上記の透明度とエフェクトに関するルールを遵守してください。
qa/review.jsonとfinal/validation.jsonにエラーがなくても、視覚的な同一性のずれはブロッカーとして扱ってください。- コンタクトシートに、切り抜かれた参照画像、繰り返しのタイル、白いセル背景、またはスプライトではない断片が含まれている場合は失敗とみなしてください。
- 禁止されている分離エフェクト、クロマキーに隣接するアーティファクト、影、光彩、にじみ、ほこり、着地マーク、波のマーク、スピード線、またはモーショントレイルがある行は失敗とみなしてください。
qa/review.jsonのエラーはブロッカーとして扱ってください。警告がある場合は、目視で確認してください。
受け入れ基準
- 最終アトラスは PNG または WebP 形式で、
1536x1872、透過に対応し、192x208のセルを基準とすること。 - 使用セルには内容があり、未使用セルは完全に透明であること。
- アトラスが
references/animation-rows.mdの行数とフレーム数に従っていること。 - 明示的にスキップされていない限り、コンタクトシートとプレビュー動画が作成されていること。
qa/review.jsonにエラーがないこと。- 行ごとのレビューで、Codex アプリに十分なアニメーションサイクルが揃っていることを確認すること。
- カスタムペットでは、
${CODEX_HOME:-$HOME/.codex}/pets/<pet-name>/pet.jsonと${CODEX_HOME:-$HOME/.codex}/pets/<pet-name>/spritesheet.webpが一緒にステージされていること。