{
  "sourceKind": "separate production-editor working copy; not a public GitHub commit",
  "reviewedAt": "2026-10-22",
  "excerpts": [
    {
      "file": "app/studio/psd-codec.ts",
      "start": 22,
      "end": 26,
      "code": "import {readNativeWorkspaces,writeNativeWorkspaces} from './psd-workspaces.ts';\nimport * as ag from './vendor/psd-codec.mjs';\nimport {supportedColorModes} from './vendor/psd-codec.mjs';\nimport instantiate from './vendor/lcms/lcms.js';\nimport {blankDoc,makeLayer,surface,layerSurface,maskSurface,composite,uid,supportedSize,MAX_LAYERS,type Layer,type StudioDoc,type LayerMask} from './document.ts';",
      "ref": "working-copy-2026-10-22",
      "sha256": "9574fa451bac49f56744583dcd0b69f34a69145f284294ec19a959b6ea0db1ab"
    },
    {
      "file": "app/studio/psd-metadata.ts",
      "start": 3,
      "end": 4,
      "code": "export function packMetadata(v:any):any{if(v===null||typeof v!=='object')return v;if(ArrayBuffer.isView(v))return {__bytes:bytes64(new Uint8Array(v.buffer,v.byteOffset,v.byteLength)),__type:v.constructor.name};if(v instanceof ArrayBuffer)return {__bytes:bytes64(new Uint8Array(v)),__type:'ArrayBuffer'};if(Array.isArray(v))return v.map(packMetadata);const out:any={};for(const [k,x]of Object.entries(v))if(!['canvas','imageData','rawData','rawCompositeData','children','thumbnail','imageDataRaw'].includes(k))out[k]=packMetadata(x);return out;}\nexport function unpackMetadata(v:any):any{if(!v||typeof v!=='object')return v;if(v.__bytes){const a=from64(v.__bytes);return v.__type==='ArrayBuffer'?a.buffer:v.__type==='Uint16Array'?new Uint16Array(a.buffer):v.__type==='Float32Array'?new Float32Array(a.buffer):a;}if(Array.isArray(v))return v.map(unpackMetadata);return Object.fromEntries(Object.entries(v).map(([k,x])=>[k,unpackMetadata(x)]));}",
      "ref": "working-copy-2026-10-22",
      "sha256": "1e4349e5ee5e597a6bd0bc6d7642e288c235045797d6f20a1c128123a2b5095d"
    },
    {
      "file": "app/studio/psd-resources.ts",
      "start": 2,
      "end": 4,
      "code": "export function resourceRange(bytes:Uint8Array){const v=new DataView(bytes.buffer,bytes.byteOffset,bytes.byteLength),lengthOffset=30+v.getUint32(26),start=lengthOffset+4,end=start+v.getUint32(lengthOffset);if(end>bytes.length)throw Error('Truncated PSD image resources.');return {lengthOffset,start,end};}\nexport function resourceBlocks(bytes:Uint8Array){const {start,end}=resourceRange(bytes),v=new DataView(bytes.buffer,bytes.byteOffset,bytes.byteLength),out:{id:number;start:number;end:number;data:Uint8Array}[]=[];let at=start;while(at+12<=end){const first=at,id=v.getUint16(at+4),name=bytes[at+6];at+=6+Math.ceil((name+1)/2)*2;if(at+4>end)throw Error('Invalid PSD resource name.');const length=v.getUint32(at);at+=4;if(at+length>end)throw Error('Invalid PSD resource length.');const data=bytes.subarray(at,at+length);at+=length+(length%2);out.push({id,start:first,end:at,data});}return out;}\nexport function readResource(bytes:Uint8Array,id:number){return resourceBlocks(bytes).find(b=>b.id===id)?.data;}",
      "ref": "working-copy-2026-10-22",
      "sha256": "405e8d1a13efbfdd92331aa9f27aa1924745a042bd93c10db0dbed4f072307c4"
    },
    {
      "file": "app/studio/psd-codec.ts",
      "start": 63,
      "end": 63,
      "code": " if(l.adjustment){const mapped=adjustmentOut(l.adjustment,out.adjustment);if(mapped){out.adjustment=l.psdAdjustmentOriginal===JSON.stringify(l.adjustment)?out.adjustment:mapped;out.clipping=l.adjustment.scope==='clipped';}else throw Error('PSD export does not yet support '+l.adjustment.type+' adjustment layers. Save a Photoshot project to preserve them.');}",
      "ref": "working-copy-2026-10-22",
      "sha256": "9574fa451bac49f56744583dcd0b69f34a69145f284294ec19a959b6ea0db1ab"
    }
  ],
  "productionUI": {
    "date": "2026-10-22",
    "route": "Photoshot UI export and Photoshot UI reopen; no fresh Adobe Photoshop readback",
    "passed": true,
    "checks": [
      {
        "format": "psd",
        "dimensions": true,
        "layerOrderNamesVisibilityOpacity": true
      },
      {
        "format": "psb",
        "dimensions": true,
        "layerOrderNamesVisibilityOpacity": true
      }
    ],
    "headers": [
      {
        "file": "example.psd",
        "signature": "8BPS",
        "version": 1,
        "width": 1536,
        "height": 1024,
        "depth": 8,
        "bytes": 13163532
      },
      {
        "file": "example.psb",
        "signature": "8BPS",
        "version": 2,
        "width": 1536,
        "height": 1024,
        "depth": 8,
        "bytes": 13186100
      }
    ]
  },
  "historicalReports": [
    {
      "file": "precision-psd-render-results.json",
      "sha256": "e3fc27d78ec34c93da375bde813b83d6fa27ad2d327dbe7c1db2da705361a3c7",
      "results": {
        "passed": true,
        "checks": [
          {
            "kind": "rgb16",
            "psb": false,
            "sourceDistinctLevels": 512,
            "maxError": 9.5367431640625e-07,
            "compression": 3
          },
          {
            "kind": "rgb16",
            "psb": true,
            "sourceDistinctLevels": 512,
            "maxError": 9.5367431640625e-07,
            "compression": 3
          },
          {
            "kind": "rgb32",
            "psb": false,
            "sourceDistinctLevels": 512,
            "maxError": 0,
            "compression": 3
          },
          {
            "kind": "rgb32",
            "psb": true,
            "sourceDistinctLevels": 512,
            "maxError": 0,
            "compression": 3
          },
          {
            "kind": "cmyk16",
            "psb": false,
            "sourceDistinctLevels": 4265,
            "maxError": 9.5367431640625e-07,
            "compression": 3
          },
          {
            "kind": "cmyk16",
            "psb": true,
            "sourceDistinctLevels": 4265,
            "maxError": 9.5367431640625e-07,
            "compression": 3
          },
          {
            "kind": "lab16",
            "psb": false,
            "sourceDistinctLevels": 2559,
            "maxError": 9.5367431640625e-07,
            "compression": 3
          },
          {
            "kind": "lab16",
            "psb": true,
            "sourceDistinctLevels": 2559,
            "maxError": 9.5367431640625e-07,
            "compression": 3
          }
        ]
      },
      "freshRun": false
    }
  ]
}