fix(studio): Style/Grade/Text parity gaps found in legacy-retirement audit#2127
Open
vanceingalls wants to merge 4 commits into
Open
fix(studio): Style/Grade/Text parity gaps found in legacy-retirement audit#2127vanceingalls wants to merge 4 commits into
vanceingalls wants to merge 4 commits into
Conversation
…ail in flat Grade
…ofocus in flat Text Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This was referenced Jul 10, 2026
Collaborator
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Jul 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
Eighth PR in the flat inspector stack (see #2120 for the foundation and full stack list). Fixes 13 real functional gaps between the flat groups and the legacy components they replace — found by a thorough control-by-control audit (not just section-label matching) run after the legacy Style/Grade retirement (#2126) made these gaps directly user-visible for the first time.
Stack: #2120 → #2121 → #2122 → #2123 → #2124 → #2125 → #2126 → #2127 (this).
Why
The audit found these were pre-existing since each group was first built — the retained legacy sections (removed in #2126) had been silently covering for them the whole time. Two were hard drops (stroke color completely uneditable; per-corner border-radius unreachable from a uniform starting value) and one was a real behavioral bug (color grading sliders don't revive a grade parked at 0% strength, so edits look invisible). The rest were narrower gaps (unclamped/unenumerated stroke inputs, a missing uniform mask-inset slider, keyboard/blur safety on the grade compare button, HDR banner detail text,
text-transform: capitalizeunreachable,text-align: endunselectable, Size losing live-commit, Content textarea losing auto-focus, and non-numbered empty-field labels).How
Three independent commits, each fixing one group's gaps against its legacy source of truth:
propertyPanelFlatStyleSections.tsx): stroke color now editable via aColorFieldrow; stroke width clamped 0–200px; stroke style validated against the 10 legacy options and exposed via a discoverable dropdown; per-corner radius now always reachable (deleted the dead branch that only mountedBorderRadiusEditorfor already-non-uniform elements — it has its own unlink toggle and now always renders, matching legacy); restored the uniform mask-inset slider alongside the per-side fields.propertyPanelFlatColorGradingSection.tsx): added avisibleIntensityhelper (identical to legacy) threaded into every Adjust/Vignette/Grain/Blur/Pixelate/LUT commit handler so editing a grade parked at 0% strength revives it to visible — the strength slider's own commit and preset application are correctly left untouched; the compare/hold button gained keyboard activation (Space/Enter) and window-blur release safety; the HDR banner and status indicator regained their informational detail text.propertyPanelFlatTextSection.tsx, multi-field path): added the missingcapitalizecase option; aliasedtext-align: endonto the "right" button (matching how "start" already aliases onto "left"); restored live-commit on the Size field; wiredkey+autoFocusso switching or adding a text field focuses its Content textarea, matching legacy; empty fields now show a numbered "Text 1"/"Text 2" fallback instead of an indistinguishable bare "Text".All three legacy source files (
propertyPanelStyleSections.tsx,BorderRadiusEditor.tsx,propertyPanelColorGradingSection.tsx,propertyPanelColorGradingControls.tsx,propertyPanelSections.tsx) were read-only references — none were modified; they're still used by the non-flat legacy panel.Test plan
oxlint/oxfmt/fallowclean on every commit.