{
  "title": "Render farm interface feature evidence",
  "version": "2026-08-07",
  "route": "/compare/render-farm-interfaces",
  "checked": "2026-08-07",
  "scope": "43 benchmark recordings, retained benchmark jobs in each provider account, installed desktop clients, and current first-party documentation.",
  "publicTableRule": "The article shows recorded and documented features as Yes, and unsupported findings as No. This file keeps the evidence source and exact finding for each cell.",
  "rankingMethod": "Ranked by the number of Yes results, then the number of Partial results. iRender is unranked because it is a rented workstation, not a managed render-job interface.",
  "ranking": [
    {
      "position": 1,
      "provider": "Superluminal"
    },
    {
      "position": 2,
      "provider": "GarageFarm"
    },
    {
      "position": 2,
      "provider": "RebusFarm"
    },
    {
      "position": 4,
      "provider": "Fox Renderfarm"
    },
    {
      "position": 5,
      "provider": "RenderStreet"
    },
    {
      "position": 6,
      "provider": "Render Network"
    },
    {
      "position": 7,
      "provider": "RenderJuice"
    },
    {
      "position": 8,
      "provider": "Blendergrid"
    },
    {
      "position": null,
      "provider": "iRender"
    }
  ],
  "statusDefinitions": {
    "recorded": "Visible in a benchmark recording, a saved still, or the authenticated interface audit.",
    "documented": "Confirmed by current first-party documentation but not visible in the inspected jobs.",
    "partial": "A separate, limited, or non-equivalent form is recorded or documented.",
    "not-shown": "Not visible in the screens and sources checked. This does not claim that the provider cannot expose it elsewhere.",
    "not-applicable": "The service uses a different product model, so the managed-job feature does not apply."
  },
  "features": [
    {
      "id": "exrLayers",
      "label": "EXR layers",
      "definition": "Inspect layers, passes, or AOVs from OpenEXR output."
    },
    {
      "id": "frameTiming",
      "label": "Frame timing",
      "definition": "See duration for individual frames, as values or a chart."
    },
    {
      "id": "renderStages",
      "label": "Render stages",
      "definition": "Break each frame into render, transfer, startup, or other timed phases."
    },
    {
      "id": "logs",
      "label": "Logs",
      "definition": "Read render output or processing logs for a job, node, or frame."
    },
    {
      "id": "capacity",
      "label": "Capacity shown",
      "definition": "See active nodes or machines, or another named measure of active capacity."
    },
    {
      "id": "machineDetails",
      "label": "Machine details",
      "definition": "See hardware selection, specifications, or per-machine utilization."
    },
    {
      "id": "frameView",
      "label": "Frame view",
      "definition": "See frame states, lists, thumbnails, or previews in the job interface."
    },
    {
      "id": "livePlayback",
      "label": "Playback while rendering",
      "definition": "Play available frames before the entire job finishes."
    }
  ],
  "sources": {
    "benchmark-events": {
      "kind": "published benchmark evidence",
      "title": "Render farm benchmark run events",
      "url": "/seo/evidence/render-farm-benchmark-run-events-2026-08.json"
    },
    "authenticated-ui-audit": {
      "kind": "authenticated first-party interface audit",
      "title": "Retained benchmark jobs and desktop clients, checked August 5, 2026",
      "checked": "2026-08-07",
      "providers": {
        "Superluminal": "All twelve final 5, 10, and 30-node runs. Checked job list, frame grid, preview, player, scene settings, machine panel, timing chart, and logs.",
        "Blendergrid": "The three authoritative completed projects: Classroom, Junk Shop, and Monster. Checked project states, frame-status tiles, quote screens, and download completion.",
        "Fox Renderfarm": "Four completed benchmark jobs. Checked task details, frame-time graph, frame details, machine values, and logs. Raysync retained all four upload and download transfers.",
        "GarageFarm": "Four completed benchmark jobs. Checked active frames, done frames, worker groups, process results, node values, and log controls.",
        "RebusFarm": "Job History contained all four benchmark scenes. Detailed ControlCenter findings also use the recorded workflow and current provider guide.",
        "RenderJuice": "Four completed benchmark jobs. Checked Overview, Monitor, Outputs, Review, image gallery, Stats, and Performance.",
        "Render Network": "One finished Classroom job and two canceled Junkshop jobs. Checked frame progress, job settings, frame preview, playback, and desktop manager.",
        "iRender": "Checked the dashboard and two retained rented machines, including package, CPU, GPU, Blender version, price, and state. iRender Drive blocked screen capture.",
        "RenderStreet": "Four completed On Demand jobs from August 6 and one supplemental One CPU job from August 7. Checked launch settings, live processing, sequence playback, pricing, billed device time, the frame table, and download controls."
      },
      "publicImages": [
        "/seo/interfaces/blendergrid-download-complete-classroom.webp",
        "/seo/interfaces/fox-renderfarm-frame-time-graph-2026.webp",
        "/seo/interfaces/garagefarm-completed-frame-timings-2026.webp",
        "/seo/interfaces/garagefarm-pre-render-and-render-times-2026.webp"
      ]
    },
    "superluminal-recording": {
      "kind": "recorded benchmark workflow",
      "title": "Authoritative Superluminal 30-node Classroom workflow stills, August 6, 2026",
      "urls": [
        "/seo/interfaces/superluminal-submission-classroom.webp",
        "/seo/interfaces/superluminal-live-progress-classroom.webp",
        "/seo/interfaces/superluminal-completed-classroom.webp",
        "/seo/interfaces/superluminal-downloaded-classroom.webp"
      ]
    },
    "superluminal-job-details": {
      "kind": "first-party documentation",
      "title": "Superluminal job details",
      "url": "/docs/web-ui/job-details"
    },
    "superluminal-outputs": {
      "kind": "first-party documentation",
      "title": "Superluminal output inspection",
      "url": "/docs/web-ui/outputs"
    },
    "blendergrid-recording": {
      "kind": "recorded benchmark workflow",
      "title": "Authoritative Blendergrid Classroom workflow stills, August 6, 2026",
      "urls": [
        "/seo/interfaces/blendergrid-uploading-classroom.webp",
        "/seo/interfaces/blendergrid-price-benchmarking-classroom.webp",
        "/seo/interfaces/blendergrid-rendering-classroom.webp",
        "/seo/interfaces/blendergrid-completed-classroom.webp",
        "/seo/interfaces/blendergrid-download-complete-classroom.webp"
      ]
    },
    "blendergrid-addon": {
      "kind": "first-party documentation",
      "title": "Blendergrid Blender add-on",
      "url": "https://blendergrid.com/articles/blender-addon"
    },
    "fox-recording": {
      "kind": "recorded benchmark workflow",
      "title": "Fox Renderfarm Classroom workflow stills",
      "urls": [
        "/seo/interfaces/fox-renderfarm-raysync-upload-classroom.webp",
        "/seo/interfaces/fox-renderfarm-running-nodes-classroom.webp",
        "/seo/interfaces/fox-renderfarm-completed-classroom.webp",
        "/seo/interfaces/fox-renderfarm-downloaded-classroom.webp"
      ]
    },
    "fox-blender-client": {
      "kind": "first-party documentation",
      "title": "Fox Renderfarm Blender client submission",
      "url": "https://www.foxrenderfarm.com/support/rendering-tutorial/blender/blender-client-submission/"
    },
    "garagefarm-recording": {
      "kind": "recorded benchmark workflow",
      "title": "GarageFarm Classroom workflow stills",
      "urls": [
        "/seo/interfaces/garagefarm-job-settings.webp",
        "/seo/interfaces/garagefarm-active-nodes.webp",
        "/seo/interfaces/garagefarm-completed-classroom.webp",
        "/seo/interfaces/garagefarm-renderbeamer-delivery.webp"
      ]
    },
    "garagefarm-blender": {
      "kind": "first-party documentation",
      "title": "GarageFarm Blender guide",
      "url": "https://garagefarm.net/documentation/blender"
    },
    "rebusfarm-recording": {
      "kind": "recorded benchmark workflow",
      "title": "RebusFarm Classroom workflow stills",
      "urls": [
        "/seo/interfaces/rebusfarm-upload-ready.webp",
        "/seo/interfaces/rebusfarm-active-nodes-classroom.webp",
        "/seo/interfaces/rebusfarm-completed-costs.webp",
        "/seo/interfaces/rebusfarm-classroom-local-completion-boundary.webp"
      ]
    },
    "rebusfarm-controlcenter": {
      "kind": "first-party documentation",
      "title": "RebusFarm ControlCenter guide",
      "url": "https://rebusfarm.net/render-farm-knowledge-base/how-to-use-the-controlcenter"
    },
    "rebusfarm-faq": {
      "kind": "first-party documentation",
      "title": "RebusFarm FAQ",
      "url": "https://rebusfarm.net/support-en/faq"
    },
    "rebusfarm-logs": {
      "kind": "first-party documentation",
      "title": "RebusFarm per-frame log example",
      "url": "https://rebusfarm.net/how-to-render-with-rhino-at-rebusfarm"
    },
    "renderjuice-recording": {
      "kind": "recorded benchmark workflow",
      "title": "RenderJuice Classroom workflow stills",
      "urls": [
        "/seo/interfaces/renderjuice-validated-configuration.webp",
        "/seo/interfaces/renderjuice-classroom-active-progress.webp",
        "/seo/interfaces/renderjuice-completed-classroom.webp",
        "/seo/interfaces/renderjuice-completed-junk-shop.webp"
      ]
    },
    "renderjuice-exr": {
      "kind": "first-party product page",
      "title": "RenderJuice browser EXR viewer",
      "url": "https://www.renderjuice.com/tools/exr-viewer"
    },
    "renderjuice-exr-boundary": {
      "kind": "first-party release note",
      "title": "RenderJuice EXR viewer product boundary",
      "url": "https://www.renderjuice.com/whats-new/browser-exr-viewer-openexr-files"
    },
    "renderjuice-quickstart": {
      "kind": "first-party documentation",
      "title": "RenderJuice quickstart",
      "url": "https://www.renderjuice.com/docs/quickstart"
    },
    "renderjuice-insight": {
      "kind": "first-party product page",
      "title": "RenderJuice Insight",
      "url": "https://www.renderjuice.com/insight"
    },
    "renderjuice-changelog": {
      "kind": "first-party release notes",
      "title": "RenderJuice changelog",
      "url": "https://www.renderjuice.com/docs/changelog"
    },
    "rendernetwork-recording": {
      "kind": "recorded benchmark workflow",
      "title": "Render Network Classroom workflow stills",
      "urls": [
        "/seo/interfaces/render-network-manual-review.webp",
        "/seo/interfaces/render-network-early-progress.webp",
        "/seo/interfaces/render-network-progress.webp",
        "/seo/interfaces/render-network-download-manager.webp"
      ]
    },
    "rendernetwork-jobs": {
      "kind": "first-party documentation",
      "title": "Render Network jobs and downloads",
      "url": "https://know.rendernetwork.com/getting-started/using-blender-cycles-on-the-render-network/navigating-the-jobs-page-and-managing-downloads-on-render"
    },
    "rendernetwork-playback": {
      "kind": "first-party documentation",
      "title": "Render Network video playback",
      "url": "https://know.rendernetwork.com/getting-started/render-network-tutorials/using-the-video-playback-feature-in-frame-approval"
    },
    "rendernetwork-aovs": {
      "kind": "first-party documentation",
      "title": "Render Network AOV outputs",
      "url": "https://know.rendernetwork.com/getting-started/render-network-tutorials/rendering-jobs-with-aovs-on-the-render-network"
    },
    "rendernetwork-hardware": {
      "kind": "first-party documentation",
      "title": "Render Network minimum VRAM and maximum GPU settings",
      "url": "https://know.rendernetwork.com/getting-started/how-to-get-started/advanced-job-paramaters-minimum-vram-and-maximum-gpus"
    },
    "irender-recording": {
      "kind": "recorded benchmark workflow",
      "title": "iRender Classroom workflow stills",
      "urls": [
        "/seo/interfaces/irender-machine-configuration.webp",
        "/seo/interfaces/irender-machine-start-dialog.webp",
        "/seo/interfaces/irender-remote-desktop-render-start.webp",
        "/seo/interfaces/irender-drive-classroom-synchronizing.webp"
      ]
    },
    "irender-desktop": {
      "kind": "first-party documentation",
      "title": "iRender desktop app quickstart",
      "url": "https://docs.irendering.net/docs/documentation/quick-start/desktop-app/"
    },
    "irender-machines": {
      "kind": "first-party documentation",
      "title": "iRender machine features",
      "url": "https://docs.irendering.net/docs/documentation/system-features/machine-features/"
    },
    "renderstreet-recording": {
      "kind": "recorded benchmark workflow",
      "title": "RenderStreet On Demand and One workflow evidence, August 6-7, 2026",
      "urls": [
        "/seo/interfaces/renderstreet-job-launch-classroom.webp",
        "/seo/interfaces/renderstreet-processing-classroom.webp",
        "/seo/interfaces/renderstreet-live-playback-classroom.webp",
        "/seo/interfaces/renderstreet-finished-classroom.webp"
      ]
    }
  },
  "providers": [
    {
      "id": "superluminal",
      "name": "Superluminal",
      "cells": {
        "exrLayers": {
          "status": "documented",
          "finding": "The job viewer can inspect layers and passes from multilayer EXR output. The benchmark job used PNG output.",
          "evidence": [
            "superluminal-outputs",
            "authenticated-ui-audit"
          ]
        },
        "frameTiming": {
          "status": "recorded",
          "finding": "The operations chart compares timing across frames.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        },
        "renderStages": {
          "status": "recorded",
          "finding": "The chart separates project download, render, thumbnail, and upload phases.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        },
        "logs": {
          "status": "recorded",
          "finding": "The selected frame or scope opens searchable render logs.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        },
        "capacity": {
          "status": "recorded",
          "finding": "The job shows selected nodes, active nodes, and aggregate machine state.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        },
        "machineDetails": {
          "status": "recorded",
          "finding": "Each node exposes specifications, utilization, activity, and job timing.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "A live thumbnail grid distinguishes finished, active, and queued frames.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        },
        "livePlayback": {
          "status": "recorded",
          "finding": "The preview plays and scrubs frames already available during the job.",
          "evidence": [
            "superluminal-recording",
            "superluminal-job-details"
          ]
        }
      }
    },
    {
      "id": "blendergrid",
      "name": "Blendergrid",
      "cells": {
        "exrLayers": {
          "status": "not-shown",
          "finding": "No EXR layer viewer appeared in the recorded browser workflow.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "frameTiming": {
          "status": "not-shown",
          "finding": "The recorded job exposed no duration for individual frames.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "renderStages": {
          "status": "not-shown",
          "finding": "The recorded job exposed no timed per-frame phases.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "logs": {
          "status": "not-shown",
          "finding": "No job, node, or frame log appeared in the recording.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "capacity": {
          "status": "not-shown",
          "finding": "The recording exposed no node or machine count.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "machineDetails": {
          "status": "not-shown",
          "finding": "The recording exposed no assigned hardware details.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "The three recorded jobs showed one state tile per frame. The new recordings do not open a rendered-frame preview.",
          "evidence": [
            "blendergrid-recording"
          ]
        },
        "livePlayback": {
          "status": "not-shown",
          "finding": "No browser player appeared. The documented add-on downloads finished frames instead.",
          "evidence": [
            "blendergrid-recording",
            "blendergrid-addon"
          ]
        }
      }
    },
    {
      "id": "fox-renderfarm",
      "name": "Fox Renderfarm",
      "cells": {
        "exrLayers": {
          "status": "not-shown",
          "finding": "No EXR layer viewer appeared in the recorded workflow.",
          "evidence": [
            "fox-recording"
          ]
        },
        "frameTiming": {
          "status": "recorded",
          "finding": "The completed task showed a render-time graph, one duration per frame, and average frame time.",
          "evidence": [
            "authenticated-ui-audit",
            "fox-blender-client"
          ]
        },
        "renderStages": {
          "status": "not-shown",
          "finding": "No timed per-frame phase breakdown appeared.",
          "evidence": [
            "fox-recording"
          ]
        },
        "logs": {
          "status": "recorded",
          "finding": "Each completed frame opened a timestamped Blender render log in the task details.",
          "evidence": [
            "authenticated-ui-audit"
          ]
        },
        "capacity": {
          "status": "recorded",
          "finding": "The active job showed a running-node count and peaked at 129.",
          "evidence": [
            "fox-recording",
            "benchmark-events"
          ]
        },
        "machineDetails": {
          "status": "recorded",
          "finding": "Task details listed RAM, GPU model, GPU memory, and GPU count for the completed job.",
          "evidence": [
            "fox-recording",
            "authenticated-ui-audit"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "Task details included a rendered-frame preview, frame selector, and per-frame task list.",
          "evidence": [
            "fox-recording",
            "authenticated-ui-audit"
          ]
        },
        "livePlayback": {
          "status": "not-shown",
          "finding": "No sequence player appeared in the recorded workflow.",
          "evidence": [
            "fox-recording"
          ]
        }
      }
    },
    {
      "id": "garagefarm",
      "name": "GarageFarm",
      "cells": {
        "exrLayers": {
          "status": "not-shown",
          "finding": "No EXR layer inspector appeared in the recorded workflow.",
          "evidence": [
            "garagefarm-recording"
          ]
        },
        "frameTiming": {
          "status": "recorded",
          "finding": "Active rows showed current and last frame duration. Completed worker groups showed average time per frame.",
          "evidence": [
            "garagefarm-recording",
            "authenticated-ui-audit"
          ]
        },
        "renderStages": {
          "status": "partial",
          "finding": "A completed five-frame worker group separated pre-render time from render duration. It did not split each individual frame.",
          "evidence": [
            "authenticated-ui-audit"
          ]
        },
        "logs": {
          "status": "documented",
          "finding": "WebManager exposes live logs for active nodes and process logs for finished frames.",
          "evidence": [
            "garagefarm-blender"
          ]
        },
        "capacity": {
          "status": "recorded",
          "finding": "WebManager showed active nodes and the job node limit.",
          "evidence": [
            "garagefarm-recording"
          ]
        },
        "machineDetails": {
          "status": "recorded",
          "finding": "Active worker rows showed RAM and CPU or GPU utilization.",
          "evidence": [
            "garagefarm-recording",
            "garagefarm-blender"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "The job exposed active and completed frame lists with state, retries, times, costs, and node type.",
          "evidence": [
            "garagefarm-recording",
            "garagefarm-blender",
            "authenticated-ui-audit"
          ]
        },
        "livePlayback": {
          "status": "not-shown",
          "finding": "No sequence player appeared in the recorded workflow.",
          "evidence": [
            "garagefarm-recording"
          ]
        }
      }
    },
    {
      "id": "rebusfarm",
      "name": "RebusFarm",
      "cells": {
        "exrLayers": {
          "status": "documented",
          "finding": "ControlCenter shows render elements and AOV previews for a selected frame.",
          "evidence": [
            "rebusfarm-controlcenter"
          ]
        },
        "frameTiming": {
          "status": "documented",
          "finding": "The expanded frame list includes render time for each frame.",
          "evidence": [
            "rebusfarm-controlcenter",
            "rebusfarm-faq"
          ]
        },
        "renderStages": {
          "status": "not-shown",
          "finding": "No timed per-frame phase breakdown appeared in the recording.",
          "evidence": [
            "rebusfarm-recording"
          ]
        },
        "logs": {
          "status": "partial",
          "finding": "First-party workflow documentation exposes per-frame logs for supported renderers.",
          "evidence": [
            "rebusfarm-logs"
          ]
        },
        "capacity": {
          "status": "recorded",
          "finding": "The active job displayed its current node count.",
          "evidence": [
            "rebusfarm-recording",
            "benchmark-events"
          ]
        },
        "machineDetails": {
          "status": "not-shown",
          "finding": "No per-node specification or utilization panel appeared.",
          "evidence": [
            "rebusfarm-recording"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "ControlCenter exposes a frame list, frame state, output preview, and review controls.",
          "evidence": [
            "rebusfarm-recording",
            "rebusfarm-controlcenter"
          ]
        },
        "livePlayback": {
          "status": "recorded",
          "finding": "The active job preview displayed sequence playback controls.",
          "evidence": [
            "rebusfarm-recording"
          ]
        }
      }
    },
    {
      "id": "renderjuice",
      "name": "RenderJuice",
      "cells": {
        "exrLayers": {
          "status": "partial",
          "finding": "A separate browser tool reads multilayer EXR, passes, AOVs, and Cryptomatte.",
          "evidence": [
            "renderjuice-exr",
            "renderjuice-exr-boundary"
          ]
        },
        "frameTiming": {
          "status": "not-shown",
          "finding": "Overview, Monitor, Outputs, Review, Stats, and Performance showed no duration for individual frames.",
          "evidence": [
            "renderjuice-recording",
            "authenticated-ui-audit"
          ]
        },
        "renderStages": {
          "status": "not-shown",
          "finding": "The inspected job tabs showed no timed per-frame phase breakdown.",
          "evidence": [
            "renderjuice-recording",
            "authenticated-ui-audit"
          ]
        },
        "logs": {
          "status": "recorded",
          "finding": "The Monitor tab exposes job output, warnings, and errors. The recorded Classroom workflow opened this tab.",
          "evidence": [
            "renderjuice-recording",
            "renderjuice-insight",
            "authenticated-ui-audit"
          ]
        },
        "capacity": {
          "status": "not-shown",
          "finding": "The inspected job tabs exposed no physical worker or node count.",
          "evidence": [
            "renderjuice-recording",
            "authenticated-ui-audit"
          ]
        },
        "machineDetails": {
          "status": "not-shown",
          "finding": "The inspected job tabs exposed no assigned worker specifications or utilization.",
          "evidence": [
            "renderjuice-recording",
            "authenticated-ui-audit"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "Rendered-frame previews appeared during the recorded job. The completed Review tab opened a contact sheet and gallery.",
          "evidence": [
            "renderjuice-recording",
            "renderjuice-quickstart",
            "authenticated-ui-audit"
          ]
        },
        "livePlayback": {
          "status": "not-shown",
          "finding": "The documented MP4 is generated as output and was not shown playing during rendering.",
          "evidence": [
            "renderjuice-recording",
            "renderjuice-changelog"
          ]
        }
      }
    },
    {
      "id": "render-network",
      "name": "Render Network",
      "cells": {
        "exrLayers": {
          "status": "partial",
          "finding": "The job lists render passes and can download View Layer or AOV files. The browser does not inspect EXR channels.",
          "evidence": [
            "rendernetwork-jobs",
            "rendernetwork-aovs",
            "authenticated-ui-audit"
          ]
        },
        "frameTiming": {
          "status": "not-shown",
          "finding": "The completed job and two failed attempts exposed frame state and aggregate progress, not frame duration.",
          "evidence": [
            "rendernetwork-recording",
            "authenticated-ui-audit"
          ]
        },
        "renderStages": {
          "status": "not-shown",
          "finding": "The inspected job pages exposed no timed per-frame phase breakdown.",
          "evidence": [
            "rendernetwork-recording",
            "authenticated-ui-audit"
          ]
        },
        "logs": {
          "status": "not-shown",
          "finding": "The inspected job pages and desktop manager exposed no customer render logs.",
          "evidence": [
            "rendernetwork-recording",
            "authenticated-ui-audit"
          ]
        },
        "capacity": {
          "status": "partial",
          "finding": "The page showed up to 100 active frames, not a verified physical machine count.",
          "evidence": [
            "rendernetwork-recording",
            "benchmark-events"
          ]
        },
        "machineDetails": {
          "status": "documented",
          "finding": "Job settings show requested VRAM. Advanced settings can limit minimum VRAM and maximum GPUs per node.",
          "evidence": [
            "rendernetwork-hardware",
            "authenticated-ui-audit"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "A live frame-status grid showed in-progress, review, accepted, and failed states.",
          "evidence": [
            "rendernetwork-recording",
            "rendernetwork-jobs"
          ]
        },
        "livePlayback": {
          "status": "recorded",
          "finding": "The active job exposed Play Video before completion. The retained Classroom job opened the same sequence player.",
          "evidence": [
            "rendernetwork-recording",
            "rendernetwork-playback",
            "authenticated-ui-audit"
          ]
        }
      }
    },
    {
      "id": "renderstreet",
      "name": "RenderStreet",
      "cells": {
        "exrLayers": {
          "status": "not-shown",
          "finding": "The recorded PNG workflow exposed no EXR layer, pass, or AOV inspector.",
          "evidence": [
            "renderstreet-recording",
            "authenticated-ui-audit"
          ]
        },
        "frameTiming": {
          "status": "recorded",
          "finding": "The Frames table reports Time Taken for each completed frame.",
          "evidence": [
            "renderstreet-recording",
            "benchmark-events"
          ]
        },
        "renderStages": {
          "status": "not-shown",
          "finding": "The job showed aggregate states and times, but no timed per-frame stage breakdown.",
          "evidence": [
            "renderstreet-recording",
            "authenticated-ui-audit"
          ]
        },
        "logs": {
          "status": "not-shown",
          "finding": "The inspected job page exposed no customer render log.",
          "evidence": [
            "renderstreet-recording",
            "authenticated-ui-audit"
          ]
        },
        "capacity": {
          "status": "recorded",
          "finding": "The persistent On Demand header showed the live active-machine count. Recorded peaks were 16 for Classroom, 22 for Junk Shop, 9 for Monster, and 2 for Fox.",
          "evidence": [
            "renderstreet-recording",
            "benchmark-events"
          ]
        },
        "machineDetails": {
          "status": "partial",
          "finding": "On Demand identifies GPU (Optix), its hourly rate, and the active-machine count. One identifies CPU and the plan name. Neither exposes assigned processor specifications, GPU count per machine, or utilization.",
          "evidence": [
            "renderstreet-recording",
            "authenticated-ui-audit"
          ]
        },
        "frameView": {
          "status": "recorded",
          "finding": "The live job shows completed-frame count, a sequence preview, and a per-frame table with individual downloads.",
          "evidence": [
            "renderstreet-recording",
            "authenticated-ui-audit"
          ]
        },
        "livePlayback": {
          "status": "recorded",
          "finding": "A playable sequence preview was available while Classroom was still processing.",
          "evidence": [
            "renderstreet-recording",
            "authenticated-ui-audit"
          ]
        }
      }
    },
    {
      "id": "irender",
      "name": "iRender",
      "cells": {
        "exrLayers": {
          "status": "not-applicable",
          "finding": "iRender rents a remote workstation; the user inspects EXR output in Blender or another chosen tool.",
          "evidence": [
            "irender-recording",
            "irender-desktop"
          ]
        },
        "frameTiming": {
          "status": "not-applicable",
          "finding": "The user renders inside Blender or another application rather than an iRender job manager.",
          "evidence": [
            "irender-recording",
            "irender-desktop"
          ]
        },
        "renderStages": {
          "status": "not-applicable",
          "finding": "iRender does not manage the Blender job stages in this workstation workflow.",
          "evidence": [
            "irender-recording",
            "irender-desktop"
          ]
        },
        "logs": {
          "status": "not-applicable",
          "finding": "The user reads Blender or operating-system logs on the rented workstation.",
          "evidence": [
            "irender-recording",
            "irender-desktop"
          ]
        },
        "capacity": {
          "status": "recorded",
          "finding": "The tested workflow rented one remote workstation.",
          "evidence": [
            "irender-recording",
            "irender-machines"
          ]
        },
        "machineDetails": {
          "status": "recorded",
          "finding": "The selected package listed four RTX 4090 GPUs and its CPU, RAM, and operating system.",
          "evidence": [
            "irender-recording",
            "irender-machines"
          ]
        },
        "frameView": {
          "status": "not-applicable",
          "finding": "Frame review happens inside Blender or another tool installed by the user.",
          "evidence": [
            "irender-recording",
            "irender-desktop"
          ]
        },
        "livePlayback": {
          "status": "not-applicable",
          "finding": "Sequence playback comes from Blender or another user-installed tool.",
          "evidence": [
            "irender-recording",
            "irender-desktop"
          ]
        }
      }
    }
  ]
}
