Add Solarized Dark theme (#7852)
* Add Solarized Dark theme * Add attribution * Make Solarized Dark pass the theme checks and register it in the new theme order Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Theme filter test: count the new Solarized Dark theme Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: bherbruck <brennen.herbruck@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
3 files changed
+221
-2
No files matched your search
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user