{
  "version": "emaki-skills-1",
  "updated": "2026-09-09",
  "purpose": "効果から選び、試験・観察・修正して使う",
  "entrypoint": "window.emakiStudio on /",
  "cards": [
    {
      "id": "edges",
      "name": "輪郭を残す",
      "goal": "舟・人物・山頂を読みやすくする",
      "status": "basic",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "先濡らしを省くか、乾燥待ち後に試験線の広がりを確認する",
        "水分の少ない細い筆を一度運ぶ",
        "直後と待機後を比べる"
      ],
      "observe": [
        "輪郭が待機後も読み取れる"
      ],
      "failureSigns": [
        "線が広がる",
        "細部が太くなる"
      ],
      "repair": [
        "水量か待機時間を一つだけ変える",
        "解像度の限界を線の重ね描きで補わない",
        "細部前のnormal待機だけを延ばす比較は一作品で有効だった。hold中の待機とは区別し、他の濡れた部分も確認する。"
      ],
      "limits": [
        "実画材に校正した数値ではない",
        "他の構図での成功を保証しない",
        "標準v3の初見AI一人・一題材での使用記録。旧試し塗り例の再評価や一般的な成功率ではない。"
      ],
      "evidence": [
        "/sketch/knowledge/techniques.json",
        "/sketch/knowledge/sources.json",
        "/sketch/knowledge/painting-studies-v45.json"
      ],
      "example": "examples/edges.json",
      "noviceTransfer": "one_fresh_agent_artwork",
      "exampleValidation": "schema_validated",
      "agent": {
        "name": "Keep edges",
        "goal": "Preserve focal silhouettes",
        "steps": [
          "Skip prewetting; on used paper, wait and test spread.",
          "Place one low-water narrow stroke.",
          "Compare immediately and after wait."
        ],
        "check": "Contour remains legible.",
        "fail": "Spreading or thickened details.",
        "repair": "Change water OR the normal-drying wait before details; test spread. Longer wait is not a universal duration. Do not thicken lines to hide grid limits.",
        "limits": "water:0 does not dry paper; hold suspends drying. Wait affects the whole paper. One fresh-agent detail comparison, not a validated universal setting."
      },
      "visualValidation": "v43_artwork_observation_not_example_revalidation",
      "noviceEvidence": "/sketch/knowledge/painting-studies-v45.json"
    },
    {
      "id": "charging",
      "name": "輪郭を残して内側に色を差す",
      "goal": "細い幹の外形を保ち、内側の影をなじませる",
      "status": "experimental",
      "backend": "paper-brush-v4",
      "preconditions": [
        "既存作品を守る未採用の候補で試す",
        "material-v4.mdの明示的な試験手順を使う。既定のv3は変更しない",
        "試し塗りJSONは別の試験紙として使い、作品へそのまま追加しない"
      ],
      "steps": [
        "薄い茶色を少水量で置く",
        "幅を絞った水筆で幹の内側だけを濡らす",
        "短く待ち、湿った内側へ濃い色を差す",
        "影の筆圧を徐々に抜き、1秒後と追加3秒後の濃淡を確認する",
        "全景と局所を比較し、改善した案だけ採用する"
      ],
      "observe": [
        "外周の輪郭と内部の濃淡を別々に見る",
        "根元から上への明暗がつながり、周囲の枝葉を壊していない"
      ],
      "failureSigns": [
        "幹全体がぼける",
        "濃い影が幹の外にはみ出す",
        "筆を止めた位置に帯や丸い終端が残る"
      ],
      "repair": [
        "全面への増水でぼけたら、保存した少水量の下塗りへ戻り、内側の水筆を試す",
        "影の経路と接触幅を先に確認する。濃い線のはみ出しを水だけで直そうとしない",
        "高い筆圧で止まる影は、根元から先へ徐々に筆圧を抜く候補と比較する"
      ],
      "limits": [
        "v40の細い幹の16条件と一本の木での局所改善。初見AIへの移転は未検証",
        "水筆は領域マスクではなく、色や水は外へ広がる場合がある",
        "例の水量・筆幅・時間は万能値ではない。低水量の下塗りの即時固定も現モデルの近似",
        "追加の待機は紙全体に作用するため、周囲の濡れた絵も確認する"
      ],
      "evidence": [
        "/sketch/knowledge/charging-v40.json",
        "/sketch/skills/material-v4.md"
      ],
      "example": "examples/charging.json",
      "exampleValidation": "schema_validated",
      "visualValidation": "16_local_swatches_and_one_tree_application",
      "noviceTransfer": "not_tested",
      "agent": {
        "name": "Charge color inside a kept contour",
        "goal": "Keep a narrow contour while blending an interior shadow",
        "steps": [
          "Read material-v4.md; preview the example on a detached test sheet.",
          "Use a pale low-water base; rewet only its interior with a narrower opacity:0 brush.",
          "Charge shadow inside the damp base; taper pressure toward .05 at lift-off.",
          "Inspect immediately and after 1+3 material seconds, then compare whole artwork before adopting."
        ],
        "check": "Legible outer edge, continuous interior tone, surrounding detail preserved.",
        "fail": "Outer blur, detached dark line, blunt shadow caps.",
        "repair": "Undo full-width wetting if blurry. Fix shadow path/contact before water. Taper high-pressure stops. Trial one factor at a time.",
        "limits": "V4 opt-in; wet areas are not masks. Example values fit one narrow trunk. Added time affects the whole paper. No novice validation."
      }
    },
    {
      "id": "branches",
      "name": "枝の構造と筆の接続を描く",
      "goal": "枝の長短・分岐・葉とのつながりを整える",
      "status": "experimental",
      "backend": "paper-brush-v4",
      "preconditions": [
        "基準PNGとJSON、残したい表現を保持する",
        "material-v4.mdの試験手順を使う。通常のv3は変更しない",
        "例は独立した裸枝の試験紙。作品への貼り付けや共通の樹形として使わない"
      ],
      "steps": [
        "葉のまとまりと、見せたい大きな分岐を先に決める",
        "主枝と小枝の分岐位置・長さを変え、枝先を葉へつなぐ",
        "開いた中心線を筆で描き、局所的な曲がりを枝の役割に合わせる",
        "接合部の濃い塊を見て、入りの筆圧・色・子枝の太さを別々に試す",
        "裸枝の試験と葉のある全景を見比べ、良かった変更だけ採用する"
      ],
      "observe": [
        "大枝から小枝へのつながりと、葉を支える方向が読める",
        "同じ長さの扇状の分岐、等間隔の折れ曲がり、孤立した細枝が狙いに反していない"
      ],
      "failureSigns": [
        "小さな揺れだけ増え、大きな規則性が残る",
        "省略した結果、裸の横枝が目立つ",
        "接合部が濃い丸になる",
        "かすれを強めると細枝が消え、葉が浮く"
      ],
      "repair": [
        "ノイズを足す前に、分岐位置と枝の役割を見直す",
        "白で消さず、保存した分岐前のJSONから描く経路を修正する",
        "裸枝が消えたら乾いた接触を戻し、筆圧の影響と切り分ける",
        "改善が小さい追加設定は残さず、前の候補へ戻る"
      ],
      "limits": [
        "一本の木の14条件。初見AIへの移転・樹種横断の一般化は未検証",
        "描かない経路を選ぶ方法であり、葉のマスクではない。裸の隙間を遮蔽と説明しない",
        "圧力の立ち上がりだけでは接合部の改善が小さかった",
        "同じ最終材料時間でも途中の付着時刻は変わる。葉とのなじみや樹冠の形は未解決"
      ],
      "evidence": [
        "/sketch/knowledge/branches-v41.json",
        "/sketch/skills/material-v4.md"
      ],
      "example": "examples/branches.json",
      "noviceTransfer": "not_tested",
      "exampleValidation": "schema_validated",
      "visualValidation": "14_local_renders_one_reference_v41",
      "agent": {
        "name": "Branch structure and connected strokes",
        "goal": "Plan unequal connected branches leading into foliage",
        "steps": [
          "Preserve baseline. Plan foliage masses and dominant vs subordinate forks before jitter.",
          "Vary fork heights/spans; aim tips into intended foliage. Connect child open brush paths to parents; taper subordinate width.",
          "Round turns locally by branch role. Avoid repeated elbows or uniform global smoothing.",
          "Inspect joints; trial onset pressure, pigment or contact separately.",
          "Compare bare swatch AND whole tree. Keep only visible improvements."
        ],
        "check": "Connected hierarchy; deliberate exposure; no unwanted fan pattern or dark oval roots.",
        "fail": "Unchanged skeleton under jitter; bare sideways branches; detached twigs; dry contact erases support.",
        "repair": "Revise earlier paths, not white erasure. Restore dry settings if branches vanish; isolate pressure. Reject negligible gains.",
        "limits": "V4 opt-in, one reference, no novice transfer. Example is a separate swatch, not a tree template. Omission is not a mask; wet areas do not clip paint. Straight branches can be intentional."
      }
    },
    {
      "id": "prewet",
      "name": "先に濡らして色をつなぐ",
      "goal": "空・遠山の柔らかいつながりを作る",
      "status": "basic",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "水筆（opacity:0）で必要な場所を濡らす",
        "湿った帯に色筆を置く",
        "待機を加えて直後との違いを見る"
      ],
      "observe": [
        "筆の境目が弱まり、主役の形が残る"
      ],
      "failureSigns": [
        "平行な帯が残る",
        "形が流れてつぶれる"
      ],
      "repair": [
        "先濡らし幅と筆の重なりを見直す",
        "水量・待機時間を別々に試す",
        "横帯が残る場合は筆を重ね、終点と筆圧の抜き方をずらして小試験する。軌道の揺れだけで解決すると考えない。",
        "粒状感が主役より強ければ、固定紙を保ち、brush.granulationだけを比較する。roughnessやseedは変えない。",
        "広い初期下塗りに白い筋が出る場合は、同じ筆の集合で水筆を先にまとめる順番を比較する。意図した再湿潤は別の工程として扱う。"
      ],
      "limits": [
        "濡れた領域は色を閉じ込めるマスクではない",
        "例は小さな試し塗り。均一なグラデーションの保証ではない",
        "標準v3の初見AI一人・一題材での使用記録。旧試し塗り例の再評価や一般的な成功率ではない。"
      ],
      "evidence": [
        "/sketch/knowledge/techniques.json",
        "/sketch/knowledge/drying-v20.json",
        "/sketch/knowledge/painting-studies-v45.json"
      ],
      "example": "examples/prewet.json",
      "noviceTransfer": "one_fresh_agent_artwork",
      "exampleValidation": "schema_validated",
      "agent": {
        "name": "Prewet to connect color",
        "goal": "Connect soft sky or distant washes",
        "steps": [
          "Prewet with opacity:0 brush.",
          "Add color inside the damp band.",
          "Wait; compare stroke seams and silhouette."
        ],
        "check": "Seams soften without losing forms.",
        "fail": "Parallel bands or collapsed forms.",
        "repair": "Trial one cause: pass overlap, endpoint/pressure taper, OR brush.granulation. Keep the fixed sheet header, roughness and seed. For unwanted seams in an initial wash, compare the SAME marks reordered water-first; later intentional rewetting is a separate stage. Inspect whole image; jitter alone does not connect paint.",
        "limits": "Wet regions are not masks. Smooth gradients are not guaranteed. These repairs are hypotheses, not validated recipes."
      },
      "visualValidation": "v43_artwork_observation_not_example_revalidation",
      "noviceEvidence": "/sketch/knowledge/painting-studies-v45.json"
    },
    {
      "id": "glaze",
      "name": "薄く重ねる",
      "goal": "明暗と色の深さを段階的に調整する",
      "status": "basic",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "薄い下塗りを置く",
        "待機後に試験筆で乾き方を確かめる",
        "少量の色を重ねて、全景と局所を比べる"
      ],
      "observe": [
        "主役と背景の明暗差が読みやすくなる"
      ],
      "failureSigns": [
        "濁る",
        "下塗りが動く",
        "筋が強くなる"
      ],
      "repair": [
        "不採用にして色量を減らす",
        "待機時間を固定値として信じず、画像で確認する"
      ],
      "limits": [
        "例の15秒は乾燥保証ではない",
        "レイヤーを増やすだけでは乾かない"
      ],
      "evidence": [
        "/sketch/knowledge/techniques.json",
        "/sketch/knowledge/drying-v20.json"
      ],
      "example": "examples/glaze.json",
      "noviceTransfer": "not_tested",
      "exampleValidation": "schema_validated",
      "agent": {
        "name": "Build up thin glazes",
        "goal": "Build value and color gradually",
        "steps": [
          "Apply a pale wash.",
          "Wait; test dryness with a small stroke.",
          "Add low-opacity, low-water color; inspect whole image and crop."
        ],
        "check": "Value separation improves.",
        "fail": "Mud, reactivated underpaint, stronger streaks.",
        "repair": "Reject; reduce pigment or adjust wait.",
        "limits": "Example wait=15 is not a drying guarantee. Layers do not dry paper."
      },
      "visualValidation": "not_evaluated_for_this_card"
    },
    {
      "id": "reserve",
      "name": "紙を塗り残す",
      "goal": "余白や光を、白い絵の具なしで残す",
      "status": "basic",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "下塗りの前に触れない場所を決める",
        "筆幅を含めて紙端の手前で止める",
        "終点と筆圧を少しずつ変える"
      ],
      "observe": [
        "余白が構図につながる"
      ],
      "failureSigns": [
        "均一な白枠に見える",
        "端が丸く揃う"
      ],
      "repair": [
        "白で消すのではなく、元の候補の筆順を修正する",
        "左右の余白を非対称に試す",
        "雲の大きな白が違うなら、後から細い縁を足す前に初期下塗りの折り返し・筆幅・筆圧を修正する。"
      ],
      "limits": [
        "余白の作成は確認済みだが、自然に消える境界は未達の例がある",
        "標準v3の初見AI一人・一題材での使用記録。旧試し塗り例の再評価や一般的な成功率ではない。"
      ],
      "evidence": [
        "/sketch/knowledge/reserved-paper.json",
        "/sketch/knowledge/painting-studies-v45.json"
      ],
      "example": "examples/reserve.json",
      "noviceTransfer": "one_fresh_agent_artwork",
      "exampleValidation": "schema_validated",
      "agent": {
        "name": "Reserve the paper",
        "goal": "Preserve paper white and breathing room",
        "steps": [
          "Plan untouched areas before painting.",
          "Stop strokes before edges, accounting for brush width.",
          "Vary endpoints and pressure."
        ],
        "check": "White space supports composition.",
        "fail": "Uniform white border or rounded repetitive endings.",
        "repair": "For wrong large white shapes, revise the EARLY wash paths, turnarounds and pressure. Fine added edge strokes did not repair one cloud silhouette. Inspect negative space at thumbnail scale; retain intentional framing.",
        "limits": "White is not eraser; lift cannot restore arbitrary white silhouettes. Fine cloud contour and natural lost edges remain partial."
      },
      "visualValidation": "v43_artwork_observation_not_example_revalidation",
      "noviceEvidence": "/sketch/knowledge/painting-studies-v45.json"
    },
    {
      "id": "hold",
      "name": "乾燥を一時停止する",
      "goal": "広い面をつなぐ時間を確保する",
      "status": "optional",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "狙った工程のlayerにenvironment.drying:holdを指定する",
        "同じ筆をnormalでも試す",
        "次の工程では省略またはnormalへ戻す"
      ],
      "observe": [
        "筋が減り、輪郭や奥行きが保たれる"
      ],
      "failureSigns": [
        "形が混ざりすぎる",
        "暗い筋が残る"
      ],
      "repair": [
        "適用する工程を狭める",
        "全工程への適用を避ける",
        "保持時間を長くするだけで白い雲が狭まった例がある。normalへ戻す候補も残す。"
      ],
      "limits": [
        "紙全体の吸収・蒸発・定着を止める補助機能",
        "水と色の移動は続く。局所マスクではない",
        "標準v3の初見AI一人・一題材での使用記録。旧試し塗り例の再評価や一般的な成功率ではない。"
      ],
      "evidence": [
        "/sketch/knowledge/drying-v20.json",
        "/sketch/knowledge/painting-studies-v45.json"
      ],
      "example": "examples/hold.json",
      "noviceTransfer": "one_fresh_agent_artwork",
      "exampleValidation": "schema_validated",
      "agent": {
        "name": "Pause drying",
        "goal": "Keep broad washes workable",
        "steps": [
          "Set layer.environment.drying=\"hold\" for selected stages.",
          "Compare identical strokes under normal.",
          "Omit setting or use normal in following stages."
        ],
        "check": "Fewer seams; forms and depth survive.",
        "fail": "Overmixed forms or persistent dark bands.",
        "repair": "Limit stages; compare normal before lengthening hold. Longer hold shrank reserved white in one fresh-agent painting and was rejected.",
        "limits": "Stops absorption/evaporation/fixation on WHOLE paper; transport continues. Not a region mask."
      },
      "visualValidation": "v43_artwork_observation_not_example_revalidation",
      "noviceEvidence": "/sketch/knowledge/painting-studies-v45.json"
    },
    {
      "id": "rewet",
      "name": "湿った筆でなじませる",
      "goal": "硬い境界を水で部分的に伸ばす",
      "status": "experimental",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "境界をまたぐ水筆を置く",
        "待機後に湿った筆で外へ引く",
        "実行前・加水後・引いた後を比較する"
      ],
      "observe": [
        "境界だけが柔らかくなるかを見る"
      ],
      "failureSigns": [
        "白い溝",
        "色の尾",
        "輪郭の残り"
      ],
      "repair": [
        "広い作品へ適用せず、小さい候補で水量と軌跡を調整する",
        "悪化したら候補を不採用にする"
      ],
      "limits": [
        "機能は残したが、既存の絵への処理は不採用",
        "水やliftは完全な消しゴムではない",
        "既存liftは湿った筆による回収。ティッシュのしわ・接触や有限吸水量の機能は未実装。雲の輪郭を作る手法として今回も不採用。"
      ],
      "evidence": [
        "/sketch/knowledge/rewetting-v17.json",
        "/sketch/techniques/water.js",
        "/sketch/knowledge/painting-studies-v45.json"
      ],
      "example": null,
      "noviceTransfer": "not_tested",
      "exampleValidation": "not_applicable",
      "agent": {
        "name": "Soften with a damp brush",
        "goal": "Experiment with water-softened boundaries",
        "steps": [
          "Prewet across the colored edge.",
          "Wait; pull outward with a damp brush.",
          "Inspect before water, after water, after pull."
        ],
        "check": "Only the intended edge softens.",
        "fail": "Pale grooves, colored tails, retained outlines.",
        "repair": "Try small detached candidates; reject regressions.",
        "limits": "Treatments rejected for studied paintings. lift: zero opacity, no supply; collects mobile pigment, not fixed-pigment erasure or a finite-capacity tissue. Neighboring wet paint may refill. See field-notes.md only if needed."
      },
      "visualValidation": "not_evaluated_for_this_card"
    },
    {
      "id": "foliage",
      "name": "葉を塊として描く",
      "goal": "樹冠にまとまりと隙間を作る",
      "status": "experimental",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "大きな枝葉のまとまりと、塗らずに残す紙を決める",
        "不規則な接触をつなぐ軽い擦り筆を試す",
        "既存の葉の内側へ少量の影を重ねる",
        "輪郭と内部を別に見て水量を判断する",
        "乾いてから少数の鋭い接触と細い枝を加える"
      ],
      "observe": [
        "全景で樹冠のまとまりが読める"
      ],
      "failureSigns": [
        "同じ丸が並ぶ",
        "穴が等間隔になる",
        "暗部で隙間が消える"
      ],
      "repair": [
        "黒い房になったら高濃度の筆の重ねすぎを疑う",
        "白い細点を増やすだけで紙や葉のリアルさを評価しない",
        "輪郭がぼけたら保護した前の案と比較して戻す",
        "全景を保てる範囲で水・接触・待機を一つずつ試す",
        "主題の大きさを揃えて参考と比較し、内部の分断には薄い大きな下塗りを試す"
      ],
      "limits": [
        "v39の一本の参考習作で比較した範囲。実顔料の混色や初心者AIへの一般化は未検証",
        "v4は明示的な試験画材。material-v4.mdを読み、通常v3から無断で切り替えない"
      ],
      "evidence": [
        "/sketch/knowledge/foliage-clusters.json",
        "/sketch/knowledge/foliage-v39.json"
      ],
      "example": null,
      "noviceTransfer": "not_tested",
      "exampleValidation": "not_applicable",
      "agent": {
        "name": "Paint foliage as masses",
        "goal": "Paint connected foliage with reserved paper gaps",
        "steps": [
          "Plan bough masses and untouched gaps.",
          "Compare connected scumbles with overlapping dabs.",
          "Glaze selected existing leaf paths.",
          "Inspect edges versus interior before adding water.",
          "Dry, then add sparse sharp contacts and tapered branches."
        ],
        "check": "Connected crown and deliberate paper gaps at whole-image scale.",
        "fail": "Near-black round bunches, uniform white speckle, flat patches, unintended soft silhouette.",
        "repair": "Compare matched subject crops. Test pale interior underpainting for fragmentation; change contact/water deliberately and restore the earlier version if worse.",
        "limits": "One local tree study. No novice validation. V4 requires the explicit trial guide; v3 stays default."
      },
      "visualValidation": "one_local_reference_tree_v39_v3_v4_comparison"
    },
    {
      "id": "reservoir",
      "name": "有限の筆残量を使う",
      "goal": "仕上げのかすれ・色の受け渡しを試す",
      "status": "optional",
      "backend": "paper-brush-v3",
      "preconditions": [
        "現在の作品を変更しない試験紙か、未採用の候補を使う",
        "座標・紙seed・比較する範囲を揃える"
      ],
      "steps": [
        "対応する供給モデルの仕様と実行例を読む",
        "最初の筆はreload、同じ筆を使うときはcontinue",
        "短い試験で残量と結果を確認する"
      ],
      "observe": [
        "筆の終わり方と色の変化が意図に合う"
      ],
      "failureSigns": [
        "長い面に筆筋が残る",
        "色が乗らなくなる"
      ],
      "repair": [
        "必要ならreloadし、筆順を分ける",
        "全面に使う前に仕上げ部分だけで比較する"
      ],
      "limits": [
        "reservoir-v1とv2のパラメータを混ぜない",
        "supplyはgesture・明示water等が必要。仕様から完全な例を読む",
        "供給一定constant-v1は廃止済み"
      ],
      "evidence": [
        "/sketch/knowledge/brush-reservoir-v14.json",
        "/sketch/knowledge/coupled-contact-v15.json",
        "/sketch/knowledge/drying-v20.json"
      ],
      "example": "examples/reservoir.json",
      "noviceTransfer": "not_tested",
      "exampleValidation": "schema_validated",
      "agent": {
        "name": "Use a finite brush load",
        "goal": "Test finite brush transfer in finishing",
        "steps": [
          "Read the linked v2 example; keep gesture samples aligned with points and duration.",
          "Start with reload; use continue only for unchanged charge settings.",
          "Inspect short strokes before broad application."
        ],
        "check": "Useful end-stroke depletion and color transfer.",
        "fail": "Wash streaks or missing deposit.",
        "repair": "Reload as needed; split strokes; trial locally.",
        "limits": "Requires material+brush+gesture+explicit water; no load/lift with supply. Never mix v1/v2 parameters. constant-v1 removed."
      },
      "visualValidation": "not_evaluated_for_this_card"
    },
    {
      "id": "material-v4",
      "name": "新しい紙と顔料を比較する",
      "goal": "濃淡と輪郭を見比べて画材を選ぶ",
      "status": "experimental",
      "backend": "paper-brush-v4",
      "preconditions": [
        "現在の絵を保存し、未採用の候補で試す",
        "標準紙と同じサイズ・seed・筆順で比較する"
      ],
      "steps": [
        "material-v4.mdの手順で試験画材のタグだけを変える",
        "全景と局所を見て、必要なら水量か筆順を一つずつ直す",
        "改善した案だけ採用する"
      ],
      "observe": [
        "濃淡が狙いに合い、残す白と輪郭が壊れていない"
      ],
      "failureSigns": [
        "横の帯、濡らしすぎの輪郭、孤立した丸い筆跡が狙いと合わない"
      ],
      "repair": [
        "先濡らし、少ない水、段階間の乾燥を一つずつ比較する",
        "悪化したら前の絵へ戻る"
      ],
      "limits": [
        "既定の画材ではない。CPU計算は遅い",
        "実測校正や論文全体の実装ではない",
        "紫の空と雲の比較では白い紙の色は良かったが輪郭がぼけ、水量を減らしても解決せずv3を採用した。"
      ],
      "evidence": [
        "/sketch/knowledge/material-v38.json",
        "/sketch/skills/material-v4.md",
        "/sketch/knowledge/painting-studies-v45.json"
      ],
      "example": "examples/material-v4.json",
      "noviceTransfer": "one_fresh_agent_comparison",
      "exampleValidation": "schema_validated",
      "visualValidation": "controlled_swatches_and_cloud_local_only",
      "agent": {
        "name": "Compare the new paper and pigment",
        "goal": "Compare transported pigment and integrated paper without losing the baseline",
        "steps": [
          "Read material-v4.md; intentionally convert the two version tags on a detached standard scene.",
          "Preview unchanged strokes, inspect whole image plus crop.",
          "If mismatched, trial one technique change and keep or reject with a reason."
        ],
        "check": "Desired wash variation with preserved silhouette and white paper.",
        "fail": "Bands, excess halo, or lost cloud planes contrary to the aim.",
        "repair": "Test prewet OR less water OR drying between stages; retain the baseline if worse.",
        "limits": "Slower CPU opt-in; no calibrated physics/GPU parity. Whiter paper did not imply a better image: one cloud study rejected v4 blur, and reduced water did not resolve it. Preserve v3 baseline."
      },
      "noviceEvidence": "/sketch/knowledge/material-v38.json"
    }
  ],
  "archives": [
    {
      "name": "旧wet / paper-brush-v1の技法と測定",
      "href": "/sketch/knowledge/guide.md",
      "reason": "版が違う数値・未対応表を現行v3に流用しない",
      "en": {
        "name": "Old wet / paper-brush-v1 techniques and measurements",
        "reason": "Different version: do not reuse its numbers or support tables on the current v3 paper."
      }
    },
    {
      "name": "供給一定constant-v1",
      "href": "/sketch/knowledge/assisted-v19.json",
      "reason": "廃止済み。実行しない",
      "en": {
        "name": "Constant supply (constant-v1)",
        "reason": "Removed. Do not run it."
      }
    },
    {
      "name": "Film / WebGLの水膜と紙試験",
      "href": "/sketch/knowledge/paper-audit-v22.json",
      "reason": "別バックエンドの任意実験。トップの画材へそのまま渡さない",
      "en": {
        "name": "Film / WebGL water-film and paper tests",
        "reason": "Optional experiment on a different backend. Do not pass it to the top page’s paper."
      }
    }
  ]
}
