Skip to content

krites — Studio UI & UX Improvements

This document outlines proposed user interface and user experience (UX) enhancements specifically targeted at the Svelte-based Studio frontend. These features prioritize speed, ergonomics, and visual feedback for the photographer.


1. Native Directory Picker for Ingest

Intent: Eliminate the friction of manually copying and pasting absolute file paths when registering a new shoot. Anticipated Functionality: Replaces the manual text input field on the "New Shoot" modal with a button invoking the browser's native File System Access API (showDirectoryPicker()). This allows the user to visually navigate their OS file system and select the shoot folder directly from the Studio UI.

2. Exported Files Grid Toggle

Intent: Allow the user to instantly review their final rendered output without leaving the Studio UI or opening their OS file explorer. Anticipated Functionality: Introduces a toggle switch/button to the top navigation. Once an export completes, clicking this toggle smoothly flips the virtualised grid over to render the full-resolution rendered output from the export/ directory instead of the .krites/previews/ directory. Clicking it again seamlessly flips back to the culling workspace.

3. "Focus Peaking" Overlay in Loupe View

Intent: Provide instant visual confirmation of sharpness without requiring the user to manually zoom and pan around the image. Anticipated Functionality: When in the Loupe (enlarged) view, holding a modifier key (e.g., O) instantly applies a bright red edge-detection mask over the image, mimicking the "Focus Peaking" feature found on modern mirrorless cameras. This allows Hailey to see exactly which plane of the photo is in sharpest focus in a fraction of a second.

4. Native Trackpad Gestures

Intent: Make the web-based Svelte UI feel exactly like a native macOS desktop application. Anticipated Functionality: Implements native trackpad event listeners. A two-finger horizontal swipe navigates backward and forward between photos in the Loupe view. A two-finger pinch-to-zoom allows seamless, fluid zooming into specific details of a photo, matching the tactile experience of Apple Photos or Lightroom.

5. Visual "Reasons" Heatmap

Intent: Make krites' AI decisions instantly comprehensible visually, rather than relying purely on text. Anticipated Functionality: Currently, krites provides a text reason (e.g., "Rejected: left subject blinking"). With this feature, hovering over that text reason in the UI will briefly highlight the exact coordinates of the issue on the thumbnail or loupe image (e.g., drawing a soft, glowing red box specifically around the closed eye that caused the rejection).

6. Dynamic Grid Reflow (Pinch-to-Zoom on Grid)

Intent: Provide fluid, frictionless control over thumbnail scaling without requiring the user to hunt for a UI slider. Anticipated Functionality: Allows the user to execute a trackpad "pinch-to-zoom" gesture directly over the virtualised grid. The grid reacts instantly, smoothly reflowing the column count—zooming out to display 20 tiny thumbnails across, or zooming in to show 2 massive thumbnails across, keeping the currently hovered photo centered.

7. "Survey Mode" (The Elimination Game)

Intent: Solve the cognitive overload of choosing the absolute best photo out of a tightly matched burst. Anticipated Functionality: The user selects 3-4 highly similar photos and presses N to enter Survey Mode. The grid is hidden, and only those selected photos are displayed side-by-side, maximizing screen real estate. Pressing X on the weakest photo removes it from the view, and the remaining photos instantly upscale to fill the empty space until only one winner remains.

8. Interactive Before/After "Wiper"

Intent: Provide a tactile, intuitive way to evaluate the impact of a color grade (Look) against the original unedited file. Anticipated Functionality: In Loupe view, pressing the \ key drops a vertical dividing line down the center of the image. The user can drag this "wiper" left and right to smoothly reveal the RAW unedited file on one side and the graded file on the other, allowing precise evaluation of color and contrast shifts.

9. "Lights Out" (Distraction-Free Mode)

Intent: Prevent eye strain and color contamination from UI elements during critical review phases. Anticipated Functionality: Pressing the L key engages "Lights Out" mode. All UI sidebars, menus, stats, and toolbars smoothly fade down to a 5% opacity dark gray. The background turns pure black, leaving only the photograph brightly illuminated. Pressing it again restores the full UI.

10. Reactive Shortcut HUD (Heads-Up Display)

Intent: Flatten the learning curve of a keyboard-heavy application without permanently cluttering the screen with shortcut hints. Anticipated Functionality: If the user holds down the Cmd or Alt key for more than 1 second, a sleek, translucent HUD overlay gracefully fades onto the screen. It visually maps out all active keyboard commands available in the current view. The moment the key is released, the HUD vanishes.