diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 87b668231..c23955c6f 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -213,6 +213,7 @@ Editable drawing code, native projects and shipped exports are collected under ` | assets/styles/ui/themes/one-dark.json | SolidCraft contributors | original SolidCraft theme file with colours adapted from the One Dark palette (Atom One Dark by GitHub Atom, https://github.com/atom/atom, MIT) | MIT OR Apache-2.0 | | assets/styles/ui/themes/tokyo-night.json | SolidCraft contributors | original SolidCraft theme file adapting the colours of a published palette (Tokyo Night by enkia, https://github.com/enkia/tokyo-night-vscode-theme, MIT) | MIT OR Apache-2.0 | | assets/styles/ui/themes/solarized-light.json | SolidCraft contributors | original SolidCraft theme file adapting the colours of a published palette (Solarized by Ethan Schoonover, https://github.com/altercation/solarized, MIT) | MIT OR Apache-2.0 | +| assets/styles/ui/themes/solarized-dark.json | SolidCraft contributors | original SolidCraft theme file adapting the colours of a published palette (Solarized by Ethan Schoonover, https://github.com/altercation/solarized, MIT) | MIT OR Apache-2.0 | | assets/styles/ui/themes/nord.json | SolidCraft contributors | original SolidCraft theme file adapting the colours of a published palette (Nord by Sven Greb and the Nord contributors, https://github.com/nordtheme/nord, MIT) | MIT OR Apache-2.0 | | assets/styles/ui/themes/high-contrast.json | SolidCraft contributors | original SolidCraft theme file | MIT OR Apache-2.0 | | assets/styles/ui/themes/graphite.json | SolidCraft contributors | original SolidCraft theme file | MIT OR Apache-2.0 | diff --git a/assets/styles/ui/themes/solarized-dark.json b/assets/styles/ui/themes/solarized-dark.json new file mode 100644 index 000000000..6eee10a6d --- /dev/null +++ b/assets/styles/ui/themes/solarized-dark.json @@ -0,0 +1,218 @@ +{ + "order": 155, + "provenance": "Original SolidCraft mapping of Solarized (MIT palette)", + "base": "dark", + "borders": {}, + "colors": { + "accent": "#268bd2", + "accent_soft": "#073642", + "agent_busy": "#268bd2", + "agent_ok": "#859900", + "app_bar": "#002b36", + "app_bar_hover": "#073642", + "app_bar_hover_button": "#073642", + "app_bar_hover_strong": "#586e75", + "app_bar_hover_subtle": "#073642", + "app_bar_separator": "#586e75", + "app_bar_tab_active": "#073642", + "app_bar_text": "#93a1a1", + "axis_x": "#dc322f", + "axis_y": "#859900", + "axis_z": "#346e88", + "bend_down": "#b58900", + "bend_up": "#859900", + "body": "#586e75", + "body_edge": "#346e88", + "body_selected": "#073642", + "border": "#586e75", + "box_crossing": "#859900", + "box_window": "#268bd2", + "chip": "#268bd2", + "construction_geom": "#cb4b16", + "construction_plane": "#b4870022", + "continuity": [ + "#859900", + "#346e88", + "#b58900", + "#6c71c4" + ], + "control_border": "#586e75", + "control_fill": "#073642", + "cube_border": "#586e75", + "cube_face": "#073642", + "cube_hover": "#586e75", + "cube_text": "#93a1a1", + "dialog_bg": "#073642", + "dialog_body": "#073642", + "dialog_border": "#586e75", + "dialog_footer": "#073642", + "dialog_label": "#93a1a1", + "dialog_rule": "#586e75", + "dimension": "#2aa198", + "dimension_driven": "#1f7f78", + "error": "#dc322f", + "field": "#002b36", + "file_background": "#073642", + "file_border": "#586e75", + "file_dim": "#93a1a1", + "file_image_tint": "#002b36", + "file_primary": "#586e75", + "file_primary_border": "#268bd2", + "file_primary_ink": "#ffffff", + "file_rail": "#1b6397", + "file_rail_hover": "#2670a6", + "file_rail_ink": "#ffffff", + "file_recovery": "#073642", + "file_recovery_border": "#b58900", + "file_recovery_ink": "#93a1a1", + "file_recovery_well": "#002b36", + "file_surface": "#073642", + "form_accent": "#6b70c3", + "form_dim": "#839496", + "form_error": "#dc322f", + "form_error_fill": "#586e75", + "form_fill": "#a2a9f8", + "form_ink": "#93a1a1", + "form_primary": "#268bd2", + "form_soft": "#073642", + "form_success": "#859900", + "form_success_fill": "#586e75", + "form_tab_ink": "#565a9d", + "glyph_bg": "#073642", + "glyph_edge": "#da2f2d", + "glyph_text": "#da2f2d", + "grid": "#073642", + "grid_major": "#586e75", + "hover": "#586e75", + "hover_edge": "#346e88", + "hover_edge_halo": "#002b36", + "hover_profile": "#268cd228", + "hover_profile_edge": "#346e88", + "icon": "#93a1a1", + "icons.agent": "#6c71c4", + "icons.highlight": "#93a1a1", + "icons.marker_halo": "#002b36cc", + "interference": "#dc322f", + "logo": [ + "#268bd2", + "#346e88", + "#586e75" + ], + "manipulator": "#268bd2", + "mesh_accent": "#97751d", + "mesh_fill": "#d7aa3c", + "mesh_ink": "#7b5d00", + "mesh_soft": "#073642", + "on_accent": "#ffffff", + "origin_plane": "#b3860028", + "origin_plane_edge": "#b6890088", + "origin_plane_hover": "#288bd340", + "origin_point": "#839496", + "overlay": "#073642", + "panel": "#073642", + "panel_header": "#002b36", + "preview_add": "#346e88", + "preview_cut": "#dc323066", + "preview_new": "#b58900", + "preview_sketch": "#859900", + "profile_fill": "#35718722", + "render_accent": "#cf317e", + "render_fill": "#f986b4", + "render_ink": "#ad2c6b", + "render_soft": "#073642", + "rubber_band": "#268bd2", + "section_cap": "#b58900", + "sel_edge": "#346e88", + "sel_edge_rim": "#346e88", + "sel_face": "#073642", + "sel_profile": "#073642", + "sel_profile_edge": "#346e88", + "sel_vertex": "#346e88", + "selected_bg": "#0a3e50", + "selected_ink": "#93a1a1", + "sheet_fill": "#58c6bc", + "sheet_ink": "#1d6d67", + "sheet_soft": "#073642", + "sketch": "#346e88", + "sketch_accent": "#738400", + "sketch_centerline": "#b58900", + "sketch_construction": "#b58900", + "sketch_fixed": "#93a1a1", + "sketch_halo": "#002b36", + "sketch_ink": "#5a6800", + "sketch_locked": "#859900", + "sketch_lost": "#dc322f", + "sketch_point": "#93a1a1", + "sketch_point_free": "#346e88", + "sketch_projected": "#6c71c4", + "sketch_soft": "#073642", + "surface_accent": "#cb4b16", + "surface_fill": "#fb906b", + "surface_ink": "#a83e12", + "surface_soft": "#073642", + "tab_on_fill_dark": "#002b36", + "text": "#93a1a1", + "text_dim": "#839496", + "timeline": "#073642", + "timeline_item": "#073642", + "timeline_item_error": "#eabcad", + "timeline_marker": "#839496", + "toolbar": "#073642", + "viewport_bottom": "#002b36", + "viewport_top": "#002b36", + "warning": "#b58900" + }, + "format": "solidcraft-theme/1", + "icon_palette": { + "constraint": [ + "#fee0dc", + "#fb8d81", + "#da2f2d" + ], + "construction": [ + "#fee1d7", + "#fb906b", + "#cb4b16" + ], + "form": [ + "#e3e6fe", + "#a2a9f8", + "#6b70c3" + ], + "guide": "#839496", + "ink": "#fdf6e3", + "line": "#93a1a1", + "mesh": [ + "#fde5b2", + "#d7aa3c", + "#97751d" + ], + "passive-1": "#586e75", + "passive-2": "#073642", + "passive-3": "#002b36", + "sketch": [ + "#def67b", + "#a8be40", + "#738400" + ], + "solid": [ + "#d5ebff", + "#67b9fb", + "#1480c6" + ], + "surface": [ + "#fee1d7", + "#fb906b", + "#cb4b16" + ] + }, + "name": "Solarized Dark", + "radii": { + "control_radius": 6, + "radius_lg": 8, + "radius_md": 6, + "radius_sm": 4, + "radius_xl": 10, + "sketch_mode_radius": 7 + } +} diff --git a/crates/ui-egui/src/prefs.rs b/crates/ui-egui/src/prefs.rs index be6774a01..d1993bd9c 100644 --- a/crates/ui-egui/src/prefs.rs +++ b/crates/ui-egui/src/prefs.rs @@ -4343,8 +4343,8 @@ mod tests { crate::theme_files::add(&mut app.preferences.custom_themes, file).unwrap(); let entries = theme_picker::entries(&app); let state = theme_picker::State { tone: Some(true), high: Some(false), imported: false, ..Default::default() }; - assert_eq!((state.count(&entries, "tone", false), state.count(&entries, "tone", true)), (8, 14)); - assert_eq!((state.count(&entries, "contrast", false), state.count(&entries, "contrast", true)), (14, 4)); + assert_eq!((state.count(&entries, "tone", false), state.count(&entries, "tone", true)), (8, 15)); + assert_eq!((state.count(&entries, "contrast", false), state.count(&entries, "contrast", true)), (15, 4)); assert_eq!(state.count(&entries, "imported", true), 0); let state = theme_picker::State { high: Some(true), imported: true, ..state }; assert_eq!(state.count(&entries, "tone", true), 1);