{
  "title": "Rust Basket-Weave Upholstery",
  "origin": "AI-generated with built-in image_gen; prepared by Locker3d",
  "date": "2026-11-10",
  "resolution": [
    1024,
    1024
  ],
  "license": "CC0-1.0, following the official Locker3d texture policy",
  "prompt": "Create one photoreal 1:1 PBR albedo of a real matte rust-colored woven upholstery swatch, neutral flat scan-like cross-polarized lighting. The material is a tightly woven 2x2 basket weave, tiny alternating horizontal and vertical PAIRS of same-color softly twisted yarns. Think 24 by 24 precisely straight aligned paired-yarn blocks from edge to edge (an even 24 so the repeat phase aligns). Opposite edges must cut the fabric pattern at the SAME point within the weave's repeating unit and the axes must be straight and equally spaced, so if repeated 3 by 3 there is no horizontal or vertical band, no seam, no change of weave direction phase. The first row and last row are opposite orientations as in a 24x24 checkerboard, and the first and last column likewise, with exactly the same block sizes on both edges. Yarn groups about 5 mm wide on a 12 cm square. Subtle natural mottling and fine loose filament fuzz WITHIN each yarn only. Solid medium muted rust/terracotta dye across every group; extremely restrained color variance, no macro gradients and no lightness change across the image. Gentle tiny valleys only at the true fiber crossings. Show realistic subtle microdetail without deep black shading. Camera exactly orthographic above the sample and uniformly sharp. Fabric fills entire image. No cut edges or borders. No seams or piping. No labels, text, shadows or dramatic highlights. One square texture field only.",
  "maps": [
    {
      "file": "textures/albedo.png",
      "colorSpace": "sRGB",
      "bytes": 2020151,
      "sha256": "31367f8f1de7e8ecca50fb872b0fc2d7ea6feb4cc5c65b100d46382be94e5280"
    },
    {
      "file": "textures/normal-gl.png",
      "colorSpace": "Non-Color",
      "bytes": 1940341,
      "sha256": "d97ebb324c3234680a541958ec7666eb00280f3ed825622186186bb9b80c6c84"
    },
    {
      "file": "textures/roughness.png",
      "colorSpace": "Non-Color",
      "bytes": 296909,
      "sha256": "e87e61176d22e4a2d8953d888ee790f84467da0b01fcc3e1e66304baeb39877a"
    }
  ],
  "method": "Cropped the source to reduce pattern phase mismatch at tile edges. Albedo: periodic-plus-smooth decomposition via FFT Poisson solve to reduce edge mismatch. Normal: periodic multi-scale Gaussian bands, robust contrast normalization, material-specific cavity/joint masks and central-difference tangent-space gradients. Roughness: material preset plus local detail and joint variation. All data channels are estimates, not measured surface response.",
  "limits": "Not a photoscan. No AO, displacement or metallic maps. Generated images are not guaranteed seamless; inspect repetition at your target scale. No measured physical scale; demo scale is illustrative.",
  "edgeDiagnostics": {
    "leftRightMeanAbsRGB": 3.509,
    "topBottomMeanAbsRGB": 3.542
  },
  "suggestedTileMeters": 0.12,
  "metallicConstant": 0,
  "normalStrength": 0.57,
  "albedoCrop": {
    "boundsPixels": [
      67,
      95,
      1127,
      1155
    ],
    "coordinateOrder": "left, top, right, bottom"
  },
  "beforeEdgeDiagnostics": {
    "leftRightMeanAbsRGB": 9.564,
    "topBottomMeanAbsRGB": 10.706
  }
}
