You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Turn the local workspace into the complete first-version LUT editor so a filmmaker can configure, preview, generate, import, and export every supported setup without using the CLI.
The editor should keep configuration and exposure preview visible together, reuse the Python preview behavior rather than duplicating LUT rules in TypeScript, and preserve compatibility with existing version-1 JSON configurations.
Acceptance criteria
Camera, target display, cube size, Stops/IRE/Fill mode, monochrome, legal/full range, and output filename controls all update the current setup.
Users can add, edit, remove, and reorder exposure bands; widths are available where meaningful and Fill mode disables width and monochrome behavior.
Band and clipping colors can be selected from the full searchable Tailwind palette or entered as validated hex values.
Crushed-black and clipped-white indicators have independent enable and color controls.
A debounced live exposure preview matches the shared Python/CLI calculation, including ranges, overlaps, Fill zones, and clipping markers.
Validation warnings and generation failures are accessible and actionable without discarding valid edits.
Version-1 JSON import replaces state only after successful validation; export downloads the complete current version-1 configuration without server-side persistence.
Frontend and Python checks cover mode transitions, band editing, palette selection, preview parity, import/export round trips, invalid-import preservation, and generated LUT options.
What to build
Turn the local workspace into the complete first-version LUT editor so a filmmaker can configure, preview, generate, import, and export every supported setup without using the CLI.
The editor should keep configuration and exposure preview visible together, reuse the Python preview behavior rather than duplicating LUT rules in TypeScript, and preserve compatibility with existing version-1 JSON configurations.
Acceptance criteria
Blocked by