{
  "schemaVersion": 1,
  "engine": "legacy-port",
  "runtime": ".NET 10.0.11",
  "operatingSystem": "Ubuntu 24.04.2 LTS",
  "processorCount": 22,
  "requestedThreads": 22,
  "acceleration": "kdtree",
  "sampleSetCount": 1,
  "rawFormat": "PFM RGB float32 little-endian (-1.0), bottom-up rows on disk; unclamped linear radiance, float64 renderer arithmetic.",
  "completedPhases": [
    "load",
    "build",
    "trace",
    "encode",
    "cleanup"
  ],
  "phaseNotes": [
    "Legacy coarse trace includes scene-level acceleration construction and the original per-pixel gamma2 conversion/vertical flip.",
    "Legacy build records shared-adapter/mesh preparation and Render construction; scene-tree construction cannot be isolated by calling PreProcessing twice.",
    "Linear capture is an output-only hook. It neither repairs RNG/triangle races nor changes the original ray/color computation.",
    "Load includes JSON, texture decode and mkPLY, including any mesh acceleration constructed inside that public API. Build includes remaining adapter/mesh preparation and separately exposed renderer acceleration.",
    "Encode includes output conversion, PNG encoding and retained linear PFM serialization.",
    "Total excludes final metrics/metadata serialization; subprocess cold time includes those and process exit.",
    "For failed runs, numeric durations describe work observed before failure, not completed phases. Use completedPhases/status; do not aggregate them."
  ],
  "limitations": [
    "Frozen legacy math, light transport, mesh hit state, RNG, acceleration and cleanup are intentionally unchanged.",
    "Legacy setRandomSeed does not seed every RNG; sample identity depends on scheduling.",
    "Triangle barycentrics are mutable shared per-hit state. Parallel legacy images may vary, including with regular sampling.",
    "DOTNET_PROCESSOR_COUNT controls the legacy default Parallel.For scheduler, not an exact operating-system thread cap.",
    "Legacy retains forced cleanup GC; output-only linear capture increases retained memory compared with the historical display-only path.",
    "Only float64 rendering and legacy gamma2 output are supported."
  ]
}