Files
photocraft/scorecard/ui.toml
T
a1de9ce4c8 fix(ui): respect native desktop scale under Auto UI scaling (#1278) (#3165)
* fix(ui): respect native desktop scale under Auto UI scaling (#1278)

* UI scale: drop the now-unused monitor size, update docs and scorecard

Merge main; Auto no longer reads the monitor size, so remove the parameter and its
computation, simplify the test, and update ui-design.md and UI-217-9 to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 10:53:55 -04:00

168 lines
8.1 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Scorecard checklist: workspace and UI (#217). The "settings that do nothing" count comes from
# the prefs audit (#204), not from here.
# Statuses must be true on main. Verified against 4b53f62 on 2026-10-05.
area = "ui"
title = "Workspace and UI"
order = 4
[[item]]
id = "UI-217-1"
target = "Tool options, last Export As / Save for Web / Fill settings and font recents persist"
status = "partial"
issue = 217
note = "Fill (fill_ui.rs:72) and Liquify (liquify_ui.rs:64, #418) keep their settings in Preferences (prefs.dialogs); no tool_options/export fields in Preferences; export_dialog.rs:21 png/85. Each painting tool keeps its own brush (paint_mouse.rs sync_tool_brush, #218), but those live in UiState, so they are lost at quit like the other tool options"
[[item]]
id = "UI-217-2"
target = "Window size and dock width remembered across restarts"
status = "done"
issue = 217
note = "eframe persistence (ui.ron): persist_window for the window, egui memory for the dock panel width; window_and_panel_geometry_survive_a_restart asserts the round trip (apps/photocraft/src/main.rs; b07a2e5b, #587)"
[[item]]
id = "UI-217-3"
target = "File > Open starts in the last-used folder"
status = "done"
issue = 217
note = "file_dialog.rs last_used_dir: open dialogs ask with initial_dir (the most recent file's folder) and apps services.rs passes it to rfd set_directory; open_starts_in_the_last_used_folder + last_used_dir_takes_the_most_recent_parent"
[[item]]
id = "UI-217-4"
target = "Preferences all take effect; recent files persist and honour recent_file_count (#204)"
status = "missing"
issue = 217
note = "See the prefs audit and BUG-204-*"
[[item]]
id = "UI-217-5"
target = "Panel groups can float (menu + drag out of the dock) and are restored at launch"
status = "missing"
issue = 217
note = "No floating groups in dock.rs/panels.rs"
[[item]]
id = "UI-217-6"
target = "Document tabs: overflow list, context menu (Close/Others/All/Reveal), drag to reorder"
status = "done"
issue = 217
note = "canvas.rs: Close/Others/All menu with unsaved prompt; Reveal reuses file.revealInFinder (engine layer_menu_cmds::reveal); the » chevron (tab_strip) lists overflow; dragging a tab reorders via document.move"
[[item]]
id = "UI-217-7"
target = "Command palette shows recently run commands on an empty query"
status = "done"
issue = 217
note = "palette.rs: note_recent from menus::invoke keeps the last 8 commands (dedup, newest first); an empty query lists them via recent_hits; the_palette_records_and_replays_recent_commands_on_an_empty_query covers record -> empty query -> replay"
[[item]]
id = "UI-217-8"
target = "Tool-specific canvas right-click menu; right-click spelling suggestions in text fields"
status = "partial"
issue = 217
note = "paint_mouse.rs brush picker and canvas_tool_menu.rs selection actions; text_field_menu.rs gives every text field its right-click Undo/Cut/Copy/Paste/Delete/Select All menu (#2921); other tools missing; spelling suggestions (edit.checkSpelling suggest) not in the text-field menu yet"
[[item]]
id = "UI-217-9"
target = "UI scale presets 100/115/125/150/200 % through zoom_factor, remembered"
status = "done"
issue = 217
note = "prefs::UiScale offers Auto plus 75 to 300 percent (13 presets, more than the five this row lists); prefs_ui.rs display_scale resolves it (Auto follows the system scale, fractional and unscaled 4K included, #1072/#1278) and sync_display_scale applies it with ctx.set_zoom_factor. It is a preference, so it is remembered. The zoom_factor assert in input_tests.rs is about canvas zoom not scaling the interface, not about this setting"
[[item]]
id = "UI-217-10"
target = "Appearance: animation toggle, canvas pattern toggle per theme, start-screen recents"
status = "missing"
issue = 217
note = "No such prefs; start screen (canvas.rs:825) has no recents"
[[item]]
id = "UI-217-11"
target = "Soft dark and soft light themes with picker previews; outlined knobs in light themes"
status = "missing"
issue = 217
note = "theme.rs ThemeKind has twelve themes (the four Pro brightness levels, Studio and Studio Light, Classic, Adwaita and Adwaita Dark, Solarized Dark, Breeze Light and Breeze Dark); no Soft dark or Soft light, and no outlined knobs in the light themes"
[[item]]
id = "UI-217-12"
target = "Save custom New Document presets; a real Recent category"
status = "partial"
issue = 217
note = "document_preset_cmds.rs and new_doc_ui.rs: named presets save/select/delete through preferences; Recent remains a static list plus Clipboard"
[[item]]
id = "UI-217-13"
target = "Numeric fields accept arithmetic and units; scrubby labels; double-click resets a slider"
status = "partial"
issue = 217
note = "widgets.rs:132 DragValue scrubs and takes + - * / arithmetic; no units in expressions, label scrub or reset"
[[item]]
id = "UI-217-14"
target = "Layers panel: wheel steps blend modes, drop on New/Trash duplicates/deletes, checker behind art"
status = "partial"
issue = 217
note = "panels.rs: the wheel steps the blend-mode dropdown (widgets::dropdown_wheel_hovered, #1747); trash is click-only, no drop on New/Trash, no checker behind art"
[[item]]
id = "UI-217-15"
target = "Curves: smoothing / pencil mode, black/grey/white eyedroppers, tooltips"
status = "partial"
issue = 217
note = "adjust_dialog.rs adds black/gray/white eyedroppers; smoothing and pencil modes remain missing"
[[item]]
id = "UI-217-16"
target = "Hue/Saturation: Saturation and Lightness sliders get hue-following colour tracks"
status = "done"
issue = 217
note = "saturation_track/lightness_track (adjust_editors.rs): grey -> the hue and black -> the hue -> white, recolouring as the Hue slider moves; saturation_and_lightness_tracks_follow_the_hue"
[[item]]
id = "UI-217-17"
target = "Color panel: wheel plus RGB/HSB/CMYK/Lab/Gray/Web slider modes; resizes with its group"
status = "missing"
issue = 217
note = "panels.rs:1837 single field + hex/RGB readout"
[[item]]
id = "UI-217-18"
target = "Alt+wheel zooms in gentle ~5 % steps; zoom controls uncramped"
status = "missing"
issue = 217
note = "canvas.rs:1107-1125 no Alt handling"
[[item]]
id = "UI-217-19"
target = "Shortcut hints rendered per platform; Reveal label per OS"
status = "done"
issue = 217
note = "hints and tooltips go through shortcuts::pretty (6266b7a9, #262; pretty_uses_the_platform_notation); menus::reveal_label names Reveal in Finder per OS (Show in Explorer / Show in Folder) in the Smart Objects menu and the tab menu; reveal_label_names_the_platform_file_manager + smart_objects_reveal_item_names_the_platform_file_manager"
[[item]]
id = "UI-217-20"
target = "'Show rulers in new documents' preference; guides stored as f64"
status = "done"
issue = 217
note = "View › Rulers is remembered in unitsAndRulers.showRulers and applied at launch and on change (#2918; rulers_open_as_last_set_after_a_restart); doc Guides are Vec<f64> through New Guide, .pcraft and PSD 1032 (guides_keep_sub_pixel_positions_through_pcraft_and_psd)"
[[item]]
id = "UI-217-21"
target = "One Preset Manager for every preset kind with folders, search, reorder, load/save sets"
status = "partial"
issue = 217
note = "edit_menu_cmds.rs:714 covers brushes, custom shapes, patterns with reorder"
[[item]]
id = "UI-217-22"
target = "Stamp Visible into a new layer keeping originals; Alt+Merge keeps originals"
status = "done"
issue = 217
note = "stamp_cmds.rs layer.stampVisible (Cmd+Alt+Shift+E) merges every visible layer into a new layer above the active one and keeps the originals; layer.stampDown (Cmd+Alt+E) too. As in Photoshop they have no menu item of their own: Alt + Layer > Merge Visible / Merge Down / Merge Layers run them (stamp_cmds::alt_variant, menus.rs); stamp_tests.rs alt_click_on_merge_items_stamps and cmd_alt_shift_e_stamps_visible_and_can_be_rebound"
[[item]]
id = "UI-217-23"
target = "Layer clipboard: copy/paste whole layers (masks, styles, type) between documents"
status = "partial"
issue = 217
note = "layer.copyToDocument copies layers into another open document keeping names, content, masks, styles and blending, converting to the destination's profile and depth, as one history step (layer_copy_cmds.rs, #589). It is the command a drag between documents dispatches; there is still no copy/paste layer clipboard"