{
  "version": "paper-audit-v22-review-1",
  "date": "2026-09-08",
  "adoptedArtwork": "reference-finale-v20",
  "artworkAdoption": false,
  "verdict": "紙目への親和性を、単一の共通顔料属性に限定した実験機能として残す。強度4を完成画の既定値にはしない。",
  "independentReviews": [
    "numerics",
    "runtime-state",
    "experiment-method"
  ],
  "metaReview": [
    "機能の増加と絵の品質向上を混同しない。材料の正しさ、実物らしさ、作品の良さ、他AIへの技能移転を別判定にする。",
    "v21はGPU化と同時に画材も変えていた。旧紙の親和性輸送・内部水拡散を失っており、純粋な高速化とは呼べない。",
    "v21の紙高さ・拡散式・係数・接触刻みの同時変更から、粒感の減少原因は特定できない。",
    "CPU/GPUの一致は、共通して持つ不具合を発見しない。方向対称性・理論平衡・微小反応を独立に検証する。",
    "旧約57倍は乾燥等を止めた計算核の値。通常描画や今回の反応分割を含む速度比ではない。"
  ],
  "fixes": [
    {
      "issue": "微小時間刻みで蒸発と定着が丸められる",
      "status": "fixed-in-opt-in-runtime",
      "change": "reactionStepで輸送と反応を分割。等分間隔で小さすぎる端数を避ける。旧step(tinyDt)は互換として残る。"
    },
    {
      "issue": "停止要求後にも完了扱いになる場合",
      "status": "fixed",
      "change": "各計算バッチ、筆、GPU待ち、最終フレームの後で中断を検査。実行中の同期GPU命令自体の即時中断はしない。"
    },
    {
      "issue": "欠けた筆状態のcheckpointを受理",
      "status": "fixed",
      "change": "実行済み命令から必要な筆ID集合を検証。"
    },
    {
      "issue": "方向の処理順が24通り中12通りに偏る",
      "status": "fixed-in-opt-in-runtime",
      "change": "balanced-v22で全32bitを使うシャッフル。旧順序は再現用。"
    },
    {
      "issue": "色が流れても粒状化属性が出発点に残る",
      "status": "restricted-workaround",
      "change": "pigmentGranulationを全域共通に限定。複数顔料の属性輸送は未実装。"
    },
    {
      "issue": "pauseサンプルと観察inputの可変参照",
      "status": "fixed",
      "change": "paused/completeを待って保存。observeはinputを複製する。"
    }
  ],
  "experiment": {
    "groups": [
      "paper-2x2",
      "slow-contact"
    ],
    "inputsIdenticalExcept": [
      "options.paperAffinity",
      "options.reliefHeight"
    ],
    "sameTicks": true,
    "sameLoadedInputs": true,
    "ledgerRelativeTolerance": 1e-12,
    "maxLoadedInputRelativeDifference": 1.0270449738790527e-14,
    "followupReason": "最初の薄塗りを実際に見て淡すぎると判断。筆の移動を4倍ゆっくりにした2条件を追加し、色を多く置いた場合にも傾向が続くか調べた。有限の装填量は同じ。"
  },
  "visualReview": {
    "inspected": [
      "/sketch/experiments/paper-audit-v22/low-plain.png",
      "/sketch/experiments/paper-audit-v22/low-affinity.png",
      "/sketch/experiments/paper-audit-v22/high-plain.png",
      "/sketch/experiments/paper-audit-v22/high-affinity.png",
      "/sketch/experiments/paper-audit-v22/slow-plain.png",
      "/sketch/experiments/paper-audit-v22/slow-affinity.png"
    ],
    "observations": [
      "薄い4条件では、紙高さを10倍にしても見た目の差は小さい。",
      "10秒の筆では親和性なしが滑らかな帯、強度4が細かい斑点としてはっきり見える。",
      "親和性は色の偏りを作るが、この強さは静かな山や水面には強すぎる可能性がある。",
      "太い帯の形自体は変わらない。紙の改善だけで絵の構図や筆の進め方は直らない。"
    ],
    "decision": "experimental-only; no artwork-quality win"
  },
  "measured": {
    "testsPassed": 110,
    "gpu": "ANGLE (Apple, ANGLE Metal Renderer: Apple M5, Unspecified Version)",
    "cpuGpuMaxRelativeL1": 0.000006205102093525789,
    "checkpoint": {
      "allFieldsExact": true,
      "brushesEqual": true,
      "ticksEqual": true
    },
    "maxPaperPigmentRelativeError": 5.303188393272388e-7,
    "maxTotalWaterRelativeError": 0.0000013870309936887169,
    "wallSecondsRange": [
      61.969,
      75.607
    ],
    "note": "時間はこの端末での単発6実行。速度比・平均的な性能・芸術点ではない。"
  },
  "remaining": [
    "単一seedのみ。実物への校正なし。",
    "紙の物理尺度、解像度間の同一凹凸、時間収束が未検証。",
    "複数顔料の属性輸送と内部水の横拡散は未実装。",
    "論文の受け側高さ上限hmaxは未実装。有限筆の供給との整合を先に検証する。",
    "初見AIへの技能移転、全景のv20越えは未確認。"
  ],
  "roadmap": [
    {
      "id": "R0",
      "status": "completed-with-declared-limits",
      "title": "不具合と評価方法を修正",
      "gate": "再現テスト、CPU/GPU、保存と再開が通る。現行作品と未実装項目を保護。"
    },
    {
      "id": "R1",
      "status": "completed-limited-to-one-paper-seed",
      "title": "紙の高さと顔料の集まり方を切り分ける",
      "gate": "同一入力の4条件＋接触時間だけ変えた2条件。量の保存と実画像を比較。"
    },
    {
      "id": "R2",
      "status": "next",
      "title": "紙の尺度と解像度を揃える",
      "gate": "同じ凹凸を面積平均して格子比較。時間刻みも半分にして収束を確認。紙を細かくするほど粒が増える状態なら全景へ移さない。"
    },
    {
      "id": "R3",
      "status": "planned",
      "title": "顔料・吸水・にじみを別々に校正",
      "gate": "顔料の属性輸送、内部水の横拡散、sizingを一つずつ比較。色と水の収支を保持。"
    },
    {
      "id": "R4",
      "status": "planned",
      "title": "林と山裾の小さな習作へ移す",
      "gate": "複数の紙seedで輪郭・明暗・にじみを確認。同型の樹冠や長い塗り継ぎは筆順で直す。"
    },
    {
      "id": "R5",
      "status": "planned",
      "title": "初見のAIに技法を渡す",
      "gate": "会話履歴なし、能力表と実行JSONだけで対照→観察→修正。成功率と必要な助言を記録。"
    },
    {
      "id": "R6",
      "status": "planned",
      "title": "全景を描き、元絵と比較",
      "gate": "大きな形・明暗・紙目・焦点・余白でv20を超えた候補のみ採用。字幕と音楽付きで書き出す。"
    }
  ],
  "links": {
    "results": "/sketch/experiments/paper-audit-v22/results.json",
    "replay": "/sketch/experiments/paper-audit-v22/",
    "capabilities": "/sketch/knowledge/capabilities.json",
    "knowledge": "/sketch/knowledge/paper-audit-v22.json"
  }
}