Skip to content

feat(studio): flat inspector — Grade (color grading) group#2124

Open
vanceingalls wants to merge 11 commits into
studio-flat-04-mediafrom
studio-flat-05-grade
Open

feat(studio): flat inspector — Grade (color grading) group#2124
vanceingalls wants to merge 11 commits into
studio-flat-04-mediafrom
studio-flat-05-grade

Conversation

@vanceingalls

@vanceingalls vanceingalls commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

What

Fifth PR in a 6-PR stack for the flat inspector redesign (see #2120 for the foundation and full stack list). Adds the flat Grade group — the largest group in the series (Preset + Custom LUT, 10 bipolar Adjust sliders, Vignette + Grain with a tuned-settings sub-panel, Blur + Pixelate, an HDR source warning banner, and an Apply-to-scope row) — wired into the accordion.

Stack: #2120 (Foundation+Text) → #2121 (Style) → #2122 (Layout+Motion) → #2123 (Media) → #2124 (this) → #2125 (Pinning + multi-field Text).

Why

Color grading is the most content-heavy legacy section (14+ controls) and needed new primitive extensions (bipolar sliders with a reset affordance, select rows with a label distinct from their value) that this PR builds and the rest of the stack could have reused.

How

  • useColorGradingController extracted from the legacy ColorGradingSection so the new flat header accessory (compare/status/reset) and body can share state without duplicating it.
  • FlatSlider extended with centerTick/onReset for bipolar controls (Adjust sliders, Vignette Roundness) — a mid-task fix round corrected a regression where the new reset-slot column was unconditionally reserved, shrinking the track width of six pre-existing unipolar sliders elsewhere in Style/Media; now gated on centerTick so only bipolar rows get it.
  • FlatSelectRow widened to support {value, label} options (Preset dropdown's id vs. display name).
  • The legacy ColorGradingSection is intentionally retained rendering alongside the new flat group for now (same hybrid-migration pattern used for every group in this stack until the whole redesign lands) — flagged in the whole-branch review as a known, flag-gated-only follow-up to fully retire once this series ships.
  • Still behind STUDIO_FLAT_INSPECTOR_ENABLED (default off).

Test plan

  • Every slider/row/toggle has a real DOM-event test (pointerdown drag, reset click, select change) with exact committed-value assertions — several were caught missing during task review and added before merge.
  • Full monorepo suite green; oxlint/oxfmt/fallow clean (a real pre-existing branch-wide fallow gate failure, unrelated to this PR's own diff, was found and fixed via documented .fallowrc.jsonc exemptions).
  • Unit tests added/updated
  • Manual testing performed
  • Documentation updated (not applicable — internal Studio UI behind an off-by-default flag)

vanceingalls and others added 11 commits July 9, 2026 14:34
Review of Task 6 flagged the exposure/other-key scale ternary as always
resolving to 100 on both arms.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Also hoists the pointerdown-drag/reset-click test scaffold shared by the
new Roundness tests and the existing Contrast/Exposure tests into helpers
(findRowByText/dragSliderTrack/clickSliderReset), and exempts pre-existing,
branch-inherited fallow findings unrelated to this task (TextFieldEditor
complexity from earlier Text-inspector commits; test-scaffold duplication
across four flat-inspector-series test files from Plans 2-4) via
.fallowrc.jsonc, per this repo's established convention for line-shift/
inherited findings.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ng FlatColorGradingSection

Also adds a not-busy click assertion for the Apply button so
onApplyToScope is exercised end-to-end, not just its disabled state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

vanceingalls commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant