# RETIRED — `picsart_grade_console`

**Unregistered 2026-08-21 by decision**, to be revisited once the earlier stages
are right. Grading will return as a panel on the review board rather than a board of
its own. Until then `film-finishing` resolves looks with
`picsart_media_resolve_looks`, picks via the host's question interface, and applies with
`picsart_media_apply_look`. Sources remain on disk; nothing was deleted.

The original spec follows, unchanged, so bringing it back is a re-registration
rather than a redesign.

---

# Widget spec — `picsart_grade_console`

Creative console. Colour finishing after picture lock: pick a look, tune the
sliders, preview cheap, apply once. Net-new widget.

## Tool input

```ts
{
  film: string,
  scope: 'film' | string,            // scene id for per-scene unification
  looks: Array<{ id: string, name: string, thumbUrl?: string }>,
                                     // from picsart_media_resolve_looks — never hardcoded
  bible: { paletteLine: string },    // shown as the reference the grade serves
  current?: { lookId?: string, adjust?: Adjust },
  suggested?: { lookId?: string, adjust?: Adjust },
                                     // assistant's best fit for the bible's palette; current wins
  suggestedWhy?: string,             // one line naming why the suggested look fits
  previewFrames?: Array<{ url: string, t: number, label?: string }>
                                     // contact-sheet results, when a preview was rendered
}
```

`Adjust = { temperature, contrast, saturation, grain, highlights, exposure }`,
each an integer −50…+50, default 0.

## Layout

- **Header**: scope chip (`film` / scene id) + the bible's palette line, always
  visible — the grade refines this, it does not invent.
- **Look rail**: the server-resolved looks as tiles (thumb + name); one selected.
- **Slider block**: the six adjust sliders with numeric readouts and per-slider
  reset.
- **Preview strip**: when `previewFrames` present, the frames side by side;
  otherwise a note that preview renders frames and is charged per frame.
- **Action bar**: `Preview frames` · `Apply to <scope>` · `Skip grade`.

## Feedback → `grade_console_feedback` v1

Per `WIDGET-FEEDBACK.md`: `scope`, `lookId`, `adjust`, `verdict
preview|apply|skip`. The widget performs no charged call itself — `preview` and
`apply` are instructions to the assistant, which quotes the cost and runs
`picsart_media_contact_sheet` / `picsart_media_apply_look` on the scene. Publish
slider state silently.

## Build notes

Net-new, deliberately thin: tiles + sliders + feedback. Reuse `Pills`/`Popover`
if useful, `useFeedbackSender`, and the media-gallery image tile styles for the
look rail and preview strip. The looks list must arrive via tool input from a
live `picsart_media_resolve_looks` call — the repo's own convention: capability
vocabularies come from the server, not client constants.
