m1 completion audit

M1完了監査

監査日: 2026-05-13

成功条件と証跡

要件証跡状態
PNG/WebP読み込みsrc/App.tsx, src/lib/imageLoader.ts完了
拡張子許可リストsrc/lib/imageValidation.ts.png / .webp 判定、scripts/verify-m1.mjs完了
MIMEを参考扱いsrc/lib/imageValidation.ts はシグネチャ優先、MIME不一致は警告のみ完了
ファイルシグネチャ検証PNG signature、WebP RIFF/WEBP/VP8系チャンク検証完了
サイズ制限50 MB、8192 x 8192 px、67,108,864 pxを IMAGE_LIMITS に定数化完了
アニメーション画像拒否APNG acTL、WebP VP8X animation flagを拒否完了
安全なデコードcreateImageBitmap で実デコードし、シグネチャ寸法と実寸を照合完了
RGBA正規化Canvasへ描画し、PNG Blobへ再エンコード完了
PixiJS表示正規化PNG URLのみをPixiJS stageへ表示完了
日本語UI/エラーsrc/App.tsx, src/lib/imageValidation.ts, npm run lint完了
悪性入力テストscripts/verify-m1.mjs が非対応拡張子、壊れた画像、巨大画像、APNG、animated WebPを検証完了
依存関係追加なしpackage.json にM1追加依存なし完了
顔トラッキング未採用onnxruntime-web, @mediapipe/tasks-vision なし、npm test完了

実行した確認

  • npm test
  • npm run lint
  • npm run security:check
  • npm run license:check
  • npm run build
  • npm run tauri -- build

M1で意図的に未実装

  • .motion2dprojへの内部UUID保存はM6で実装する。
  • Rust側ファイル保存、プロジェクト保存、ZIP処理はM6以降。
  • パーツ分割、メッシュ生成、リグ編集はM2以降。