# P22 素材の実在・必要枠台帳 状態: 初回棚卸し。原本に対する完成認定ではない。原本は `docs/traceability/original/BASELINE.txt`。派生する旧アート仕様書や仮素材の存在を根拠に、原本要件を省略しない。 `python3 tools/build_original_asset_inventory.py` で再生成する。対象はローカル制作コピーのassetsと、scripts/scenes/autoload/data/assets内のリテラル参照。動的に組み立てる参照や実画面での到達性は別途確認が必要。 ## ファイルと必要枠 - `media_inventory.json`: 実在290ファイルのSHA・容量・PNG寸法・ソース中の参照・Kenneyライセンスへの対応。mockupsは参考資料として区別。 - `facility_usage_slots.json`: 原本30施設 × Lv1〜3 × 表裏 × 外観/内装の360利用枠。360枚の新規画像が必要という意味ではない。共有素材やコード描画で満たせる枠は、レベル・状態・レイヤーの画面証拠を確認してから対応付ける。原本の配置層と表示素材の層を混同しない。 - `character_usage_slots.json`: 指定7名の立ち絵・表情・衣装・破損/汚れ、待機/歩行/作業/気絶/運搬/救護/休息の84枠群。複数差分の必要数は未確定。汎用人物の色違いだけでは固有人物の完成を認定しない。 - `other_usage_slots.json`: 背景、UI、エフェクト、BGM/環境音/操作音/声、その他人物、今回制作対象外の内容を追跡する17枠群。未制作項目を除外して全素材完成とは扱わない。 - `inventory_summary.json`: 件数、原本SHA、リテラル参照の欠損を記録。 今回の走査では音声ファイル0、画像等へのリテラル参照欠損0。これは音響要件が満たされるという意味ではない。原本は表裏のアレンジ違いBGMとクロスフェード、環境音、操作音、声を要求する。音響の接続コードも今回確認範囲では見つからず、P25で制作・接続が必要。 ## 既存描画の扱い `pixel_tower_art.gd` と `pixel_people.gd` は独自のコード描画。前者の施設ID文字列は候補の抽出にだけ使用し、特定施設の内装・外観・Lv差分が存在する証拠にはしていない。後者の汎用ポーズも人物別完成品としていない。旧高解像度テーマへの参照があっても、現在のマップで使われているとは限らない。 Kenney Tiny Dungeon/Tiny Townは同梱License.txtにCC0の明記を確認し、ファイルハッシュと対応を保存。配布元は `assets/kenney/sources.json`。その他テーマ画像の制作元・制作担当・完成承認はこの台帳では未確認とする。権利問題があると断定するものではない。 ## 差し替えと制作契約 1. ゲーム保存は施設ID・人物ID・状態を保持し、画像パスやAtlas座標を埋め込まない。既存VisualThemeProfileの意味IDによる差し替えを維持する。 2. 既存マップはKenneyの16×16タイルと人物16×18のコード座標を使用。PNGは透明・Nearest・Mipmap無効。画像解像度から当たり判定を変更しない。 3. 新しい利用枠は施設/人物ID・レベル・レイヤー・状態を識別し、ファイルの有無とは別に「未制作→仮素材→接続済み→画面受入済み」を記録する。 4. 制作時のファイル命名案は `/-vNN.png`。既存ファイルを一括改名せず、意味IDとの対応を先に追加する。Atlas化は表示側の都合として扱う。 5. PNG寸法・余白・原点・フレーム順/時間は制作開始前に対象枠ごとに記録。静止画だけでアニメーション合格にしない。実際の歩行/仕事/搬送/停止状態と照合する。 6. 外部素材はURL・作者・ライセンス本文・取得日・原ファイルSHAを保持。Kenneyを優先する。既存ゲームの画像や音を配布物へ取り込まない。 7. 各枠に制作担当・受入担当・完成資産・画面証拠を割り当てる。現在は未割当。P22の完了には差分数と担当・品質判断の確定が残る。 関連: `docs/ART_ASSET_PRODUCTION_SPECIFICATION.md`、`docs/PIXEL_TOWER_VISUALS.md`。これらは制作手順/現実装の記録であり、基本仕様原本を上書きしない。