{
  "lanes": [
    {
      "id": "creek",
      "label": "Forest creek",
      "field": "forest",
      "thesis": "Keep the established route, add a cool channel and narrow shoreline, then flatten and fade the soil lip near roots.",
      "scope": "Bank and channel detail in the existing creek. Home and the settled board keep the creek out of view.",
      "defaultShot": "phone-reverse",
      "shots": [
        {
          "id": "desktop-home-1440",
          "label": "Home \u00b7 1440\u00d7900",
          "before": {
            "src": "captures/creek/before-desktop-home-1440.jpg",
            "full": "captures/creek/before-desktop-home-1440.png",
            "note": "Home \u00b7 1440\u00d7900 \u00b7 base f429c9a1",
            "raw": "raw/creek/before-desktop-home-1440.json"
          },
          "after": {
            "src": "captures/creek/after-desktop-home-1440.jpg",
            "full": "captures/creek/after-desktop-home-1440.png",
            "note": "Home \u00b7 1440\u00d7900 \u00b7 f6223c7f",
            "raw": "raw/creek/after-desktop-home-1440.json"
          }
        },
        {
          "id": "desktop-home-1920",
          "label": "Home \u00b7 1920\u00d71080",
          "before": {
            "src": "captures/creek/before-desktop-home-1920.jpg",
            "full": "captures/creek/before-desktop-home-1920.png",
            "note": "Home \u00b7 1920\u00d71080 \u00b7 base f429c9a1",
            "raw": "raw/creek/before-desktop-home-1920.json"
          },
          "after": {
            "src": "captures/creek/after-desktop-home-1920.jpg",
            "full": "captures/creek/after-desktop-home-1920.png",
            "note": "Home \u00b7 1920\u00d71080 \u00b7 f6223c7f",
            "raw": "raw/creek/after-desktop-home-1920.json"
          }
        },
        {
          "id": "desktop-board-1440",
          "label": "Board \u00b7 1440\u00d7900",
          "before": {
            "src": "captures/creek/before-desktop-board-1440.jpg",
            "full": "captures/creek/before-desktop-board-1440.png",
            "note": "Board \u00b7 1440\u00d7900 \u00b7 base f429c9a1",
            "raw": "raw/creek/before-desktop-board-1440.json"
          },
          "after": {
            "src": "captures/creek/after-desktop-board-1440.jpg",
            "full": "captures/creek/after-desktop-board-1440.png",
            "note": "Board \u00b7 1440\u00d7900 \u00b7 f6223c7f",
            "raw": "raw/creek/after-desktop-board-1440.json"
          }
        },
        {
          "id": "desktop-board-1920",
          "label": "Board \u00b7 1920\u00d71080",
          "before": {
            "src": "captures/creek/before-desktop-board-1920.jpg",
            "full": "captures/creek/before-desktop-board-1920.png",
            "note": "Board \u00b7 1920\u00d71080 \u00b7 base f429c9a1",
            "raw": "raw/creek/before-desktop-board-1920.json"
          },
          "after": {
            "src": "captures/creek/after-desktop-board-1920.jpg",
            "full": "captures/creek/after-desktop-board-1920.png",
            "note": "Board \u00b7 1920\u00d71080 \u00b7 f6223c7f",
            "raw": "raw/creek/after-desktop-board-1920.json"
          }
        },
        {
          "id": "phone-home",
          "label": "Phone Home \u00b7 390\u00d7844",
          "before": {
            "src": "captures/creek/before-phone-home.jpg",
            "full": "captures/creek/before-phone-home.png",
            "note": "Phone Home \u00b7 390\u00d7844 \u00b7 base f429c9a1",
            "raw": "raw/creek/before-phone-home.json"
          },
          "after": {
            "src": "captures/creek/after-phone-home.jpg",
            "full": "captures/creek/after-phone-home.png",
            "note": "Phone Home \u00b7 390\u00d7844 \u00b7 f6223c7f",
            "raw": "raw/creek/after-phone-home.json"
          }
        },
        {
          "id": "phone-board",
          "label": "Phone board \u00b7 high",
          "before": {
            "src": "captures/creek/before-phone-board.jpg",
            "full": "captures/creek/before-phone-board.png",
            "note": "Phone board \u00b7 high \u00b7 base f429c9a1",
            "raw": "raw/creek/before-phone-board.json"
          },
          "after": {
            "src": "captures/creek/after-phone-board.jpg",
            "full": "captures/creek/after-phone-board.png",
            "note": "Phone board \u00b7 high \u00b7 f6223c7f",
            "raw": "raw/creek/after-phone-board.json"
          }
        },
        {
          "id": "phone-board-low",
          "label": "Phone board \u00b7 low",
          "before": {
            "src": "captures/creek/before-phone-board-low.jpg",
            "full": "captures/creek/before-phone-board-low.png",
            "note": "Phone board \u00b7 low \u00b7 base f429c9a1",
            "raw": "raw/creek/before-phone-board-low.json"
          },
          "after": {
            "src": "captures/creek/after-phone-board-low.jpg",
            "full": "captures/creek/after-phone-board-low.png",
            "note": "Phone board \u00b7 low \u00b7 f6223c7f",
            "raw": "raw/creek/after-phone-board-low.json"
          }
        },
        {
          "id": "phone-reverse",
          "label": "Phone reverse \u00b7 high",
          "before": {
            "src": "captures/creek/before-phone-reverse.jpg",
            "full": "captures/creek/before-phone-reverse.png",
            "note": "Phone reverse \u00b7 high \u00b7 base f429c9a1",
            "raw": "raw/creek/before-phone-reverse.json"
          },
          "after": {
            "src": "captures/creek/after-phone-reverse.jpg",
            "full": "captures/creek/after-phone-reverse.png",
            "note": "Phone reverse \u00b7 high \u00b7 f6223c7f",
            "raw": "raw/creek/after-phone-reverse.json"
          }
        },
        {
          "id": "phone-reverse-low",
          "label": "Phone reverse \u00b7 low",
          "before": {
            "src": "captures/creek/before-phone-reverse-low.jpg",
            "full": "captures/creek/before-phone-reverse-low.png",
            "note": "Phone reverse \u00b7 low \u00b7 base f429c9a1",
            "raw": "raw/creek/before-phone-reverse-low.json"
          },
          "after": {
            "src": "captures/creek/after-phone-reverse-low.jpg",
            "full": "captures/creek/after-phone-reverse-low.png",
            "note": "Phone reverse \u00b7 low \u00b7 f6223c7f",
            "raw": "raw/creek/after-phone-reverse-low.json"
          }
        }
      ],
      "costs": [
        {
          "shot": "desktop-home-1440",
          "label": "Home \u00b7 1440\u00d7900",
          "before": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 7.246791,
            "gpuP95": 7.757625,
            "cpuMedian": 1.7000000178813934,
            "cpuP95": 2.4000000059604645,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2856425,
            "calls": 51,
            "gpuMedian": 7.183457499999999,
            "gpuP95": 7.580416,
            "cpuMedian": 1.699999988079071,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "desktop-home-1920",
          "label": "Home \u00b7 1920\u00d71080",
          "before": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 7.9125625,
            "gpuP95": 8.583916,
            "cpuMedian": 1.7000000178813934,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2856425,
            "calls": 51,
            "gpuMedian": 8.944979,
            "gpuP95": 10.7375,
            "cpuMedian": 1.800000011920929,
            "cpuP95": 2.699999988079071,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "desktop-board-1440",
          "label": "Board \u00b7 1440\u00d7900",
          "before": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 4.546811999999999,
            "gpuP95": 4.718124,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 4.151874,
            "gpuP95": 4.704624,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.4622285,
            "gpuP95": 4.341124,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.7000000178813934,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "desktop-board-1920",
          "label": "Board \u00b7 1920\u00d71080",
          "before": {
            "triangles": 2143925,
            "calls": 43,
            "gpuMedian": 3.7260204999999997,
            "gpuP95": 4.717624,
            "cpuMedian": 2.300000011920929,
            "cpuP95": 3,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143985,
            "calls": 43,
            "gpuMedian": 5.0524165,
            "gpuP95": 5.275708,
            "cpuMedian": 2.300000011920929,
            "cpuP95": 3.199999988079071,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.5548125,
            "gpuP95": 4.202291,
            "cpuMedian": 1.7000000178813934,
            "cpuP95": 2.5999999940395355,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "phone-home",
          "label": "Phone Home \u00b7 390\u00d7844",
          "before": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 6.6962285,
            "gpuP95": 7.779374,
            "cpuMedian": 1.7000000178813934,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2856425,
            "calls": 51,
            "gpuMedian": 6.7815415,
            "gpuP95": 7.316874,
            "cpuMedian": 1.800000011920929,
            "cpuP95": 2.4000000059604645,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "phone-board",
          "label": "Phone board \u00b7 high",
          "before": {
            "triangles": 2144267,
            "calls": 42,
            "gpuMedian": 4.6847075,
            "gpuP95": 4.721083,
            "cpuMedian": 2.0999999940395355,
            "cpuP95": 2.7999999821186066,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143797,
            "calls": 41,
            "gpuMedian": 4.7563534999999995,
            "gpuP95": 4.855708,
            "cpuMedian": 2.2999999821186066,
            "cpuP95": 3.100000023841858,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.9348745000000003,
            "gpuP95": 4.466166,
            "cpuMedian": 1.9000000059604645,
            "cpuP95": 2.7000000178813934,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "phone-board-low",
          "label": "Phone board \u00b7 low",
          "before": {
            "triangles": 2143621,
            "calls": 41,
            "gpuMedian": 3.4001245,
            "gpuP95": 3.508499,
            "cpuMedian": 3.0999999940395355,
            "cpuP95": 4.0999999940395355,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2144159,
            "calls": 42,
            "gpuMedian": 3.2449365,
            "gpuP95": 3.294874,
            "cpuMedian": 4.299999982118607,
            "cpuP95": 5.5999999940395355,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.331354,
            "gpuP95": 3.630208,
            "cpuMedian": 2.5999999940395355,
            "cpuP95": 3.800000011920929,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "phone-reverse",
          "label": "Phone reverse \u00b7 high",
          "before": {
            "triangles": 2855809,
            "calls": 49,
            "gpuMedian": 4.6493325,
            "gpuP95": 8.642874,
            "cpuMedian": 0.9000000059604645,
            "cpuP95": 1.600000023841858,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2857165,
            "calls": 49,
            "gpuMedian": 5.1750415,
            "gpuP95": 9.235583,
            "cpuMedian": 1.0,
            "cpuP95": 1.800000011920929,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "phone-reverse-low",
          "label": "Phone reverse \u00b7 low",
          "before": {
            "triangles": 2368953,
            "calls": 44,
            "gpuMedian": 2.7079165,
            "gpuP95": 3.907416,
            "cpuMedian": 1.3499999940395355,
            "cpuP95": 3.399999976158142,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2370309,
            "calls": 44,
            "gpuMedian": 2.439833,
            "gpuP95": 2.712499,
            "cpuMedian": 1.199999988079071,
            "cpuP95": 3.2999999821186066,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        }
      ],
      "crops": [
        {
          "src": "crops/creek/before.jpg",
          "full": "crops/creek/before.png",
          "label": "Today \u00b7 Phone reverse \u00b7 high"
        },
        {
          "src": "crops/creek/after.jpg",
          "full": "crops/creek/after.png",
          "label": "After \u00b7 Phone reverse \u00b7 high"
        },
        {
          "src": "crops/creek/reference.jpg",
          "label": "Animal Crossing: New Horizons \u00b7 Nintendo \u00b7 comparison only",
          "source": "https://animalcrossing.nintendo.com/new-horizons/explore/"
        }
      ],
      "branch": "lookdev/fields-atmosphere-creek",
      "head": "f6223c7fdf584bb6fd94cee59cdcb31fedfe67a8",
      "pr": "https://github.com/Caboecotours-kyle/animal-auction/pull/262",
      "gate": "PASS, exit 0, one final npm run gate:pr on Fedora: typecheck, lint, engine 473/473, server 2378/2378, mobile 919/919; zero failures, skips or cancellations.",
      "buildTouches": "apps/mobile/src/three/scene/fields/forestCreek.js",
      "lowTier": "Same creek route, footprint, 17-column ribbon and two draws. Existing reduced far world, DPR 1 backing and disabled MSAA retained. No new low-tier asset download."
    },
    {
      "id": "forest-depth",
      "label": "Forest depth",
      "field": "forest",
      "thesis": "Apply muted green aerial perspective after lighting to the existing distant tree bands; preserve the clearing, canopy, sky and cameras.",
      "scope": "Distance atmosphere on the generated tree bands. The near canopy, clearing, creek and sky retain their existing treatment.",
      "defaultShot": "phone-reverse",
      "shots": [
        {
          "id": "desktop-home-1440",
          "label": "Home \u00b7 1440\u00d7900",
          "before": {
            "src": "captures/forest-depth/before-desktop-home-1440.jpg",
            "full": "captures/forest-depth/before-desktop-home-1440.png",
            "note": "Home \u00b7 1440\u00d7900 \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-desktop-home-1440.json"
          },
          "after": {
            "src": "captures/forest-depth/after-desktop-home-1440.jpg",
            "full": "captures/forest-depth/after-desktop-home-1440.png",
            "note": "Home \u00b7 1440\u00d7900 \u00b7 902e8923",
            "raw": "raw/forest-depth/after-desktop-home-1440.json"
          }
        },
        {
          "id": "desktop-home-1920",
          "label": "Home \u00b7 1920\u00d71080",
          "before": {
            "src": "captures/forest-depth/before-desktop-home-1920.jpg",
            "full": "captures/forest-depth/before-desktop-home-1920.png",
            "note": "Home \u00b7 1920\u00d71080 \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-desktop-home-1920.json"
          },
          "after": {
            "src": "captures/forest-depth/after-desktop-home-1920.jpg",
            "full": "captures/forest-depth/after-desktop-home-1920.png",
            "note": "Home \u00b7 1920\u00d71080 \u00b7 902e8923",
            "raw": "raw/forest-depth/after-desktop-home-1920.json"
          }
        },
        {
          "id": "desktop-board-1440",
          "label": "Board \u00b7 1440\u00d7900",
          "before": {
            "src": "captures/forest-depth/before-desktop-board-1440.jpg",
            "full": "captures/forest-depth/before-desktop-board-1440.png",
            "note": "Board \u00b7 1440\u00d7900 \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-desktop-board-1440.json"
          },
          "after": {
            "src": "captures/forest-depth/after-desktop-board-1440.jpg",
            "full": "captures/forest-depth/after-desktop-board-1440.png",
            "note": "Board \u00b7 1440\u00d7900 \u00b7 902e8923",
            "raw": "raw/forest-depth/after-desktop-board-1440.json"
          }
        },
        {
          "id": "desktop-board-1920",
          "label": "Board \u00b7 1920\u00d71080",
          "before": {
            "src": "captures/forest-depth/before-desktop-board-1920.jpg",
            "full": "captures/forest-depth/before-desktop-board-1920.png",
            "note": "Board \u00b7 1920\u00d71080 \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-desktop-board-1920.json"
          },
          "after": {
            "src": "captures/forest-depth/after-desktop-board-1920.jpg",
            "full": "captures/forest-depth/after-desktop-board-1920.png",
            "note": "Board \u00b7 1920\u00d71080 \u00b7 902e8923",
            "raw": "raw/forest-depth/after-desktop-board-1920.json"
          }
        },
        {
          "id": "phone-home",
          "label": "Phone Home \u00b7 390\u00d7844",
          "before": {
            "src": "captures/forest-depth/before-phone-home.jpg",
            "full": "captures/forest-depth/before-phone-home.png",
            "note": "Phone Home \u00b7 390\u00d7844 \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-phone-home.json"
          },
          "after": {
            "src": "captures/forest-depth/after-phone-home.jpg",
            "full": "captures/forest-depth/after-phone-home.png",
            "note": "Phone Home \u00b7 390\u00d7844 \u00b7 902e8923",
            "raw": "raw/forest-depth/after-phone-home.json"
          }
        },
        {
          "id": "phone-board",
          "label": "Phone board \u00b7 high",
          "before": {
            "src": "captures/forest-depth/before-phone-board.jpg",
            "full": "captures/forest-depth/before-phone-board.png",
            "note": "Phone board \u00b7 high \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-phone-board.json"
          },
          "after": {
            "src": "captures/forest-depth/after-phone-board.jpg",
            "full": "captures/forest-depth/after-phone-board.png",
            "note": "Phone board \u00b7 high \u00b7 902e8923",
            "raw": "raw/forest-depth/after-phone-board.json"
          }
        },
        {
          "id": "phone-board-low",
          "label": "Phone board \u00b7 low",
          "before": {
            "src": "captures/forest-depth/before-phone-board-low.jpg",
            "full": "captures/forest-depth/before-phone-board-low.png",
            "note": "Phone board \u00b7 low \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-phone-board-low.json"
          },
          "after": {
            "src": "captures/forest-depth/after-phone-board-low.jpg",
            "full": "captures/forest-depth/after-phone-board-low.png",
            "note": "Phone board \u00b7 low \u00b7 902e8923",
            "raw": "raw/forest-depth/after-phone-board-low.json"
          }
        },
        {
          "id": "phone-reverse",
          "label": "Phone reverse \u00b7 high",
          "before": {
            "src": "captures/forest-depth/before-phone-reverse.jpg",
            "full": "captures/forest-depth/before-phone-reverse.png",
            "note": "Phone reverse \u00b7 high \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-phone-reverse.json"
          },
          "after": {
            "src": "captures/forest-depth/after-phone-reverse.jpg",
            "full": "captures/forest-depth/after-phone-reverse.png",
            "note": "Phone reverse \u00b7 high \u00b7 902e8923",
            "raw": "raw/forest-depth/after-phone-reverse.json"
          }
        },
        {
          "id": "phone-reverse-low",
          "label": "Phone reverse \u00b7 low",
          "before": {
            "src": "captures/forest-depth/before-phone-reverse-low.jpg",
            "full": "captures/forest-depth/before-phone-reverse-low.png",
            "note": "Phone reverse \u00b7 low \u00b7 base f429c9a1",
            "raw": "raw/forest-depth/before-phone-reverse-low.json"
          },
          "after": {
            "src": "captures/forest-depth/after-phone-reverse-low.jpg",
            "full": "captures/forest-depth/after-phone-reverse-low.png",
            "note": "Phone reverse \u00b7 low \u00b7 902e8923",
            "raw": "raw/forest-depth/after-phone-reverse-low.json"
          }
        }
      ],
      "costs": [
        {
          "shot": "desktop-home-1440",
          "label": "Home \u00b7 1440\u00d7900",
          "before": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 7.4070415,
            "gpuP95": 7.732666,
            "cpuMedian": 2,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 7.2684995,
            "gpuP95": 8.184249,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.600000023841858,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "desktop-home-1920",
          "label": "Home \u00b7 1920\u00d71080",
          "before": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 7.836729,
            "gpuP95": 8.040874,
            "cpuMedian": 2.0,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 8.3168745,
            "gpuP95": 8.67025,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "desktop-board-1440",
          "label": "Board \u00b7 1440\u00d7900",
          "before": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 4.0680205,
            "gpuP95": 4.735458,
            "cpuMedian": 1.800000011920929,
            "cpuP95": 2.699999988079071,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143645,
            "calls": 42,
            "gpuMedian": 4.3309165,
            "gpuP95": 5.052749,
            "cpuMedian": 2.5,
            "cpuP95": 3.7000000178813934,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.4622285,
            "gpuP95": 4.341124,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.7000000178813934,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "desktop-board-1920",
          "label": "Board \u00b7 1920\u00d71080",
          "before": {
            "triangles": 2144311,
            "calls": 42,
            "gpuMedian": 4.222853499999999,
            "gpuP95": 5.962791,
            "cpuMedian": 2.300000011920929,
            "cpuP95": 2.9000000059604645,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143801,
            "calls": 43,
            "gpuMedian": 4.8239995,
            "gpuP95": 5.514416,
            "cpuMedian": 2.5999999940395355,
            "cpuP95": 4,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.5548125,
            "gpuP95": 4.202291,
            "cpuMedian": 1.7000000178813934,
            "cpuP95": 2.5999999940395355,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "phone-home",
          "label": "Phone Home \u00b7 390\u00d7844",
          "before": {
            "triangles": 2855069,
            "calls": 51,
            "gpuMedian": 6.623874499999999,
            "gpuP95": 6.900124,
            "cpuMedian": 2.0,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2855071,
            "calls": 52,
            "gpuMedian": 8.5066665,
            "gpuP95": 9.957499,
            "cpuMedian": 1.600000023841858,
            "cpuP95": 2.9000000059604645,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "phone-board",
          "label": "Phone board \u00b7 high",
          "before": {
            "triangles": 2143621,
            "calls": 41,
            "gpuMedian": 3.84227,
            "gpuP95": 5.062,
            "cpuMedian": 2.2000000029802322,
            "cpuP95": 3.0999999940395355,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143709,
            "calls": 41,
            "gpuMedian": 3.942562,
            "gpuP95": 4.826624,
            "cpuMedian": 1.800000011920929,
            "cpuP95": 2.5,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.9348745000000003,
            "gpuP95": 4.466166,
            "cpuMedian": 1.9000000059604645,
            "cpuP95": 2.7000000178813934,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "phone-board-low",
          "label": "Phone board \u00b7 low",
          "before": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.361624,
            "gpuP95": 3.57,
            "cpuMedian": 2.800000011920929,
            "cpuP95": 3.7999999821186066,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2143621,
            "calls": 41,
            "gpuMedian": 3.4291869999999998,
            "gpuP95": 3.621499,
            "cpuMedian": 3,
            "cpuP95": 4.100000023841858,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": {
            "triangles": 2143577,
            "calls": 40,
            "gpuMedian": 3.331354,
            "gpuP95": 3.630208,
            "cpuMedian": 2.5999999940395355,
            "cpuP95": 3.800000011920929,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          }
        },
        {
          "shot": "phone-reverse",
          "label": "Phone reverse \u00b7 high",
          "before": {
            "triangles": 2855809,
            "calls": 49,
            "gpuMedian": 16.1208955,
            "gpuP95": 21.786291,
            "cpuMedian": 0.9000000059604645,
            "cpuP95": 1.800000011920929,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2855809,
            "calls": 49,
            "gpuMedian": 9.232416,
            "gpuP95": 19.414999,
            "cpuMedian": 0.8999999761581421,
            "cpuP95": 1.800000011920929,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        },
        {
          "shot": "phone-reverse-low",
          "label": "Phone reverse \u00b7 low",
          "before": {
            "triangles": 2368953,
            "calls": 44,
            "gpuMedian": 2.4077705,
            "gpuP95": 2.732791,
            "cpuMedian": 1.5,
            "cpuP95": 3.4000000059604645,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "after": {
            "triangles": 2368953,
            "calls": 44,
            "gpuMedian": 2.5357285000000003,
            "gpuP95": 3.033499,
            "cpuMedian": 1.5,
            "cpuP95": 2.699999988079071,
            "fieldBytes": 13959800,
            "textureBytes": 60205724
          },
          "audit": null
        }
      ],
      "crops": [
        {
          "src": "crops/forest-depth/before.jpg",
          "full": "crops/forest-depth/before.png",
          "label": "Today \u00b7 Phone reverse \u00b7 high"
        },
        {
          "src": "crops/forest-depth/after.jpg",
          "full": "crops/forest-depth/after.png",
          "label": "After \u00b7 Phone reverse \u00b7 high"
        },
        {
          "src": "crops/forest-depth/reference.jpg",
          "label": "Animal Crossing: New Horizons, Nintendo. Comparison only.",
          "source": "https://animalcrossing.nintendo.com/new-horizons/explore/"
        }
      ],
      "branch": "lookdev/fields-atmosphere-forest-depth",
      "head": "902e89238c7d54fb9aeb674de543191790119d42",
      "pr": "https://github.com/Caboecotours-kyle/animal-auction/pull/265",
      "gate": "PASS, exit 0: one gate:pr invocation in the existing real Fedora git worktree; typecheck, lint, 473 engine + 2378 server + 919 mobile = 3770 tests passed.",
      "buildTouches": "apps/mobile/src/three/scene/fields/forestFar.js: generated tree atmosphere helper and material tag; apps/mobile/src/three/scene/fields/forest.js: import, atmosphere-only onBeforeCompile hook and shader program signature",
      "lowTier": "Same aerial perspective on the existing reduced far trees. Full: 5 tagged materials, 1,603 trees, 706,740 far triangles. Reduced: 2 tagged materials, 618 trees, 219,884 far triangles; existing floor omission remains. Board far visibility still hides the effect. No extra texture, pass or geometry."
    },
    {
      "id": "farm-haze",
      "label": "Farm hills",
      "field": "farm",
      "thesis": "Blend hill feet into the meadow and soften distant shoulders with broad vertex-colour variation and the existing mint haze.",
      "scope": "Colour and haze on the existing hills. The bright sky, field layout and dry farm stay as approved.",
      "defaultShot": "phone-home",
      "shots": [
        {
          "id": "desktop-home-1440",
          "label": "Home \u00b7 1440\u00d7900",
          "before": {
            "src": "captures/farm-haze/before-desktop-home-1440.jpg",
            "full": "captures/farm-haze/before-desktop-home-1440.png",
            "note": "Home \u00b7 1440\u00d7900 \u00b7 base f429c9a1",
            "raw": "raw/farm-haze/before-desktop-home-1440.json"
          },
          "after": {
            "src": "captures/farm-haze/after-desktop-home-1440.jpg",
            "full": "captures/farm-haze/after-desktop-home-1440.png",
            "note": "Home \u00b7 1440\u00d7900 \u00b7 6c471be9",
            "raw": "raw/farm-haze/after-desktop-home-1440.json"
          }
        },
        {
          "id": "desktop-home-1920",
          "label": "Home \u00b7 1920\u00d71080",
          "before": {
            "src": "captures/farm-haze/before-desktop-home-1920.jpg",
            "full": "captures/farm-haze/before-desktop-home-1920.png",
            "note": "Home \u00b7 1920\u00d71080 \u00b7 base f429c9a1",
            "raw": "raw/farm-haze/before-desktop-home-1920.json"
          },
          "after": {
            "src": "captures/farm-haze/after-desktop-home-1920.jpg",
            "full": "captures/farm-haze/after-desktop-home-1920.png",
            "note": "Home \u00b7 1920\u00d71080 \u00b7 6c471be9",
            "raw": "raw/farm-haze/after-desktop-home-1920.json"
          }
        },
        {
          "id": "phone-home",
          "label": "Phone Home \u00b7 390\u00d7844",
          "before": {
            "src": "captures/farm-haze/before-phone-home.jpg",
            "full": "captures/farm-haze/before-phone-home.png",
            "note": "Phone Home \u00b7 390\u00d7844 \u00b7 base f429c9a1",
            "raw": "raw/farm-haze/before-phone-home.json"
          },
          "after": {
            "src": "captures/farm-haze/after-phone-home.jpg",
            "full": "captures/farm-haze/after-phone-home.png",
            "note": "Phone Home \u00b7 390\u00d7844 \u00b7 6c471be9",
            "raw": "raw/farm-haze/after-phone-home.json"
          }
        },
        {
          "id": "desktop-board-1440",
          "label": "Board \u00b7 1440\u00d7900",
          "before": {
            "src": "captures/farm-haze/before-desktop-board-1440.jpg",
            "full": "captures/farm-haze/before-desktop-board-1440.png",
            "note": "Board \u00b7 1440\u00d7900 \u00b7 base f429c9a1",
            "raw": "raw/farm-haze/before-desktop-board-1440.json"
          },
          "after": {
            "src": "captures/farm-haze/after-desktop-board-1440.jpg",
            "full": "captures/farm-haze/after-desktop-board-1440.png",
            "note": "Board \u00b7 1440\u00d7900 \u00b7 6c471be9",
            "raw": "raw/farm-haze/after-desktop-board-1440.json"
          }
        },
        {
          "id": "desktop-board-1920",
          "label": "Board \u00b7 1920\u00d71080",
          "before": {
            "src": "captures/farm-haze/before-desktop-board-1920.jpg",
            "full": "captures/farm-haze/before-desktop-board-1920.png",
            "note": "Board \u00b7 1920\u00d71080 \u00b7 base f429c9a1",
            "raw": "raw/farm-haze/before-desktop-board-1920.json"
          },
          "after": {
            "src": "captures/farm-haze/after-desktop-board-1920.jpg",
            "full": "captures/farm-haze/after-desktop-board-1920.png",
            "note": "Board \u00b7 1920\u00d71080 \u00b7 6c471be9",
            "raw": "raw/farm-haze/after-desktop-board-1920.json"
          }
        },
        {
          "id": "phone-board",
          "label": "Phone board \u00b7 high",
          "before": {
            "src": "captures/farm-haze/before-phone-board.jpg",
            "full": "captures/farm-haze/before-phone-board.png",
            "note": "Phone board \u00b7 high \u00b7 base f429c9a1",
            "raw": "raw/farm-haze/before-phone-board.json"
          },
          "after": {
            "src": "captures/farm-haze/after-phone-board.jpg",
            "full": "captures/farm-haze/after-phone-board.png",
            "note": "Phone board \u00b7 high \u00b7 6c471be9",
            "raw": "raw/farm-haze/after-phone-board.json"
          }
        },
        {
          "id": "phone-board-low",
          "label": "Phone board \u00b7 low",
          "before": {
            "src": "captures/farm-haze/before-phone-board-low.jpg",
            "full": "captures/farm-haze/before-phone-board-low.png",
            "note": "Phone board \u00b7 low \u00b7 base f429c9a1 \u00b7 matched pair; audit camera differs by 2.04 m on Y",
            "raw": "raw/farm-haze/before-phone-board-low.json"
          },
          "after": {
            "src": "captures/farm-haze/after-phone-board-low.jpg",
            "full": "captures/farm-haze/after-phone-board-low.png",
            "note": "Phone board \u00b7 low \u00b7 6c471be9 \u00b7 matched pair; audit camera differs by 2.04 m on Y",
            "raw": "raw/farm-haze/after-phone-board-low.json"
          }
        }
      ],
      "costs": [
        {
          "shot": "desktop-home-1440",
          "label": "Home \u00b7 1440\u00d7900",
          "before": {
            "triangles": 696752.0,
            "calls": 38.0,
            "gpuMedian": 2.7093540000000003,
            "gpuP95": 2.984,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.9000000059604645,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "after": {
            "triangles": 696752,
            "calls": 38,
            "gpuMedian": 2.7889369999999998,
            "gpuP95": 4.321374,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.300000011920929,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "audit": null
        },
        {
          "shot": "desktop-home-1920",
          "label": "Home \u00b7 1920\u00d71080",
          "before": {
            "triangles": 696752.0,
            "calls": 38.0,
            "gpuMedian": 3.279229,
            "gpuP95": 3.591791,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.300000011920929,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "after": {
            "triangles": 696752.0,
            "calls": 38.0,
            "gpuMedian": 3.1781875,
            "gpuP95": 3.35825,
            "cpuMedian": 1.699999988079071,
            "cpuP95": 2.5,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "audit": null
        },
        {
          "shot": "phone-home",
          "label": "Phone Home \u00b7 390\u00d7844",
          "before": {
            "triangles": 696752.0,
            "calls": 38.0,
            "gpuMedian": 2.6103120000000004,
            "gpuP95": 2.772249,
            "cpuMedian": 1.800000011920929,
            "cpuP95": 2.2000000178813934,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "after": {
            "triangles": 696752,
            "calls": 38,
            "gpuMedian": 2.613937,
            "gpuP95": 2.726999,
            "cpuMedian": 1.5,
            "cpuP95": 2.4000000059604645,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "audit": null
        },
        {
          "shot": "desktop-board-1440",
          "label": "Board \u00b7 1440\u00d7900",
          "before": {
            "triangles": 692594,
            "calls": 39,
            "gpuMedian": 2.2420415,
            "gpuP95": 2.344125,
            "cpuMedian": 1.7000000178813934,
            "cpuP95": 3.9000000059604645,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "after": {
            "triangles": 691480.0,
            "calls": 40.0,
            "gpuMedian": 2.1999785000000003,
            "gpuP95": 2.48425,
            "cpuMedian": 2.699999988079071,
            "cpuP95": 3.600000023841858,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "audit": {
            "triangles": 693140,
            "calls": 43,
            "gpuMedian": 2.2212285,
            "gpuP95": 2.374833,
            "cpuMedian": 2.800000011920929,
            "cpuP95": 3.7000000178813934,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          }
        },
        {
          "shot": "desktop-board-1920",
          "label": "Board \u00b7 1920\u00d71080",
          "before": {
            "triangles": 691520.0,
            "calls": 38.0,
            "gpuMedian": 2.675479,
            "gpuP95": 2.781541,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.800000011920929,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "after": {
            "triangles": 692136,
            "calls": 41,
            "gpuMedian": 2.7333325,
            "gpuP95": 2.910624,
            "cpuMedian": 2.0999999940395355,
            "cpuP95": 4,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "audit": {
            "triangles": 691456,
            "calls": 39,
            "gpuMedian": 2.2291035,
            "gpuP95": 3.201499,
            "cpuMedian": 2.4000000059604645,
            "cpuP95": 3,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          }
        },
        {
          "shot": "phone-board",
          "label": "Phone board \u00b7 high",
          "before": {
            "triangles": 691388,
            "calls": 37,
            "gpuMedian": 2.2809369999999998,
            "gpuP95": 2.386874,
            "cpuMedian": 1.7999999821186066,
            "cpuP95": 2.9000000059604645,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "after": {
            "triangles": 691388,
            "calls": 37,
            "gpuMedian": 2.2327285000000003,
            "gpuP95": 2.34075,
            "cpuMedian": 2.2999999821186066,
            "cpuP95": 2.800000011920929,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          },
          "audit": {
            "triangles": 691476,
            "calls": 38,
            "gpuMedian": 2.209791,
            "gpuP95": 2.352124,
            "cpuMedian": 1.9000000059604645,
            "cpuP95": 2.5999999940395355,
            "fieldBytes": 2863159,
            "textureBytes": 44761084
          }
        },
        {
          "shot": "phone-board-low",
          "label": "Phone board \u00b7 low",
          "before": {
            "triangles": 478780.0,
            "calls": 37.0,
            "gpuMedian": 0.961395,
            "gpuP95": 1.040124,
            "cpuMedian": 2.800000011920929,
            "cpuP95": 3.800000011920929,
            "fieldBytes": 2551221,
            "textureBytes": 11190268
          },
          "after": {
            "triangles": 478868.0,
            "calls": 38.0,
            "gpuMedian": 0.9517914999999999,
            "gpuP95": 0.9915,
            "cpuMedian": 3.0,
            "cpuP95": 3.9000000059604645,
            "fieldBytes": 2551221,
            "textureBytes": 11190268
          },
          "audit": {
            "triangles": 480246,
            "calls": 41,
            "gpuMedian": 1.0138325,
            "gpuP95": 1.037249,
            "cpuMedian": 5.9000000059604645,
            "cpuP95": 7.4000000059604645,
            "fieldBytes": 2551221,
            "textureBytes": 11190268
          }
        }
      ],
      "crops": [
        {
          "src": "crops/farm-haze/before.jpg",
          "full": "crops/farm-haze/before.png",
          "label": "Today \u00b7 Phone Home \u00b7 390\u00d7844"
        },
        {
          "src": "crops/farm-haze/after.jpg",
          "full": "crops/farm-haze/after.png",
          "label": "After \u00b7 Phone Home \u00b7 390\u00d7844"
        },
        {
          "src": "crops/farm-haze/reference.jpg",
          "label": "Animal Crossing: New Horizons, Nintendo \u00b7 comparison only",
          "source": "https://animalcrossing.nintendo.com/new-horizons/explore/"
        }
      ],
      "branch": "lookdev/fields-atmosphere-farm-haze",
      "head": "6c471be9ba3b95d3bae0615057ef080ec2bebbd3",
      "pr": "https://github.com/Caboecotours-kyle/animal-auction/pull/266",
      "gate": "PASS, exit 0. npm run gate:pr ran once in the existing clean Dell git worktree. Typecheck and lint passed; engine 473/473, server 2378/2378, mobile 919/919, including all six farm tests.",
      "buildTouches": "apps/mobile/src/three/scene/fields/farm.js",
      "lowTier": "Same build-time hill colours on existing reduced mesh. No new shader, material, texture, per-frame work, quality setting or far-visibility change. Existing reduced foliage/wheat and low DPR remain."
    }
  ],
  "costNote": "Each cell shows Today control, After, then the original audit where that shot was measured. Whole-scene counts vary with settled offline status props. Field bytes include the GLB and field-specific external maps. Texture bytes are the conservative RGBA8 plus mip-chain estimate, not driver allocations. Raw paired data is linked below.",
  "method": [
    "Today and After use real Expo Home and offline table routes at matching production cameras. The original audit is linked for context. No camera was repositioned to expose the creek or more sky.",
    "GPU values use EXT_disjoint_timer_query_webgl2 for 24 static scene renders, with the first four excluded and disjoint or unavailable results rejected. CPU values measure rendered rAF callback work during a five-second window. Home may naturally sleep; reverse CPU holds the naturally reached intro camera and simulation time during the static sample. CPU and GPU overlap.",
    "Short captures on a shared Mac contain timing noise. Phone-sized M1 renders do not establish phone-GPU performance, thermal behavior or complete frame rate.",
    "The historical audit described a five-second CPU window while its script waited four seconds. These paired runs retain five seconds. Low-tier captures pin the existing quality override where needed to prevent adaptive recovery to mid. The renderer backing buffer is DPR 1; screenshot files can still be DPR 2 with the surrounding UI.",
    "Farm low-tier Today and After share the same production camera. Its height differs by 2.04 m from the historical audit low capture because of live game/UI framing; that baseline is context, not a perfectly matched control. The other six farm views match the audit camera.",
    "The creek adds 1,356 triangles within its original two draws and footprint. The settled board submits zero creek draws. Home still submits the creek mesh although it is visually hidden, so its submitted count rises there. No field asset or texture is added. Three creek raw captures have unassigned network console resets; no page or shader errors were recorded and all six field textures were present.",
    "Forest field assets are 13,959,800 bytes on both tiers. Farm assets total 2,863,159 bytes high and 2,551,221 bytes low, including its 2,365,516-byte GLB. No shared code, cast, cards or route overhead is counted in the field-assets column.",
    "Conservative RGBA8 storage estimate from original image dimensions, including each mip level down to 1x1. Field-owned embedded GLB images and field-specific external ground/pollen maps only. Shared cast, cards, UI and common shadow maps excluded. This is an estimate, not a driver allocation measurement."
  ],
  "status": "Three draft PRs are awaiting Kyle's stills sign-off. Review, stamps and merging remain with the coordinator.",
  "questions": [
    "Approve the creek, forest distance atmosphere and farm hills for coordinator review. The forest sky and dry farm remain as approved."
  ],
  "footer": "Animal Auction \u00b7 atmosphere lane \u00b7 source branches only, no app deployment \u00b7 reference images are comparison evidence and are not game assets."
}