makepad/widgets/sheets/themes/field-radio/theme.splash
Admin 53e0e85b92 draw and widgets: Slug text everywhere, no blank glyphs, slimmer widgets
All outline text draws with Slug curves on every platform (SDF/MSDF stays
selectable per size); a frame never presents a blank glyph and retained draw
lists keep theirs. One coverage model for vector feathering, widget families
split out of the core crate, fewer steady-state allocations, video keeps its
aspect (Contain/Cover), render and SSAO pass unification.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 12:26:21 +02:00

210 lines
8.7 KiB
Text

mod.theme = mod.themes.dark
// An olive-drab field radio: a painted steel case, worn and scratched,
// controls set in steel bezels, parchment legends, amber and red lamps.
// Raised caps are dark olive-grey inside a bright steel ring; wells are
// near black; values glow amber; what is on is a lamp. Every state of a
// family is spelled out, because the base derived its states once, from
// its own colours.
// The case: olive drab paint over steel.
mod.theme.color_bg_app = #3f4232
mod.theme.color_fg_app = #414434
mod.theme.color_bg_container = #414434
mod.theme.color_surface_container_lowest = #23251c
// Raised faces: dark olive-grey caps, lit at the top, falling to the foot.
mod.theme.color_outset = #34352b
mod.theme.color_outset_1 = #3d3e33
mod.theme.color_outset_2 = #26271f
mod.theme.color_outset_hover = #3a3b30
mod.theme.color_outset_1_hover = #444538
mod.theme.color_outset_2_hover = #2b2c23
mod.theme.color_outset_down = #202119
mod.theme.color_outset_1_down = #202119
mod.theme.color_outset_2_down = #202119
mod.theme.color_outset_focus = #34352b
mod.theme.color_outset_1_focus = #3d3e33
mod.theme.color_outset_2_focus = #26271f
mod.theme.color_outset_active = #34352b
mod.theme.color_outset_1_active = #3d3e33
mod.theme.color_outset_2_active = #26271f
mod.theme.color_outset_disabled = #2e3025
mod.theme.color_outset_1_disabled = #2e3025
mod.theme.color_outset_2_disabled = #2e3025
// Wells: fields, tracks and boxes, near black with an olive cast.
mod.theme.color_inset = #191b15
mod.theme.color_inset_1 = #191b15
mod.theme.color_inset_2 = #191b15
mod.theme.color_inset_hover = #1d1f18
mod.theme.color_inset_1_hover = #1d1f18
mod.theme.color_inset_2_hover = #1d1f18
mod.theme.color_inset_focus = #1c1e17
mod.theme.color_inset_1_focus = #1c1e17
mod.theme.color_inset_2_focus = #1c1e17
mod.theme.color_inset_active = #191b15
mod.theme.color_inset_1_active = #191b15
mod.theme.color_inset_2_active = #191b15
mod.theme.color_inset_down = #141510
mod.theme.color_inset_1_down = #141510
mod.theme.color_inset_2_down = #141510
mod.theme.color_inset_drag = #141510
mod.theme.color_inset_1_drag = #141510
mod.theme.color_inset_2_drag = #141510
mod.theme.color_inset_empty = #191b15
mod.theme.color_inset_1_empty = #191b15
mod.theme.color_inset_2_empty = #191b15
mod.theme.color_inset_disabled = #25271e
mod.theme.color_inset_1_disabled = #25271e
mod.theme.color_inset_2_disabled = #25271e
// The edge a stock face still draws: steel over a black foot.
mod.theme.color_bevel = #5a5c50
mod.theme.color_bevel_hover = #66685b
mod.theme.color_bevel_focus = #eea23a
mod.theme.color_bevel_down = #0c0d09
mod.theme.color_bevel_active = #5a5c50
mod.theme.color_bevel_empty = #5a5c50
mod.theme.color_bevel_disabled = #3a3c31
mod.theme.color_bevel_inset_1 = #0c0d09
mod.theme.color_bevel_inset_2 = #4a4c40
mod.theme.color_bevel_outset_1 = #5a5c50
mod.theme.color_bevel_outset_2 = #0c0d09
mod.theme.beveling = 0.5
// Ink: parchment legends, a dimmer khaki for idle marks.
mod.theme.color_text = #dcd2b0
mod.theme.color_text_hover = #ece3c4
mod.theme.color_text_focus = #dcd2b0
mod.theme.color_text_active = #dcd2b0
mod.theme.color_text_down = #bdb392
mod.theme.color_text_disabled = #6e6c58
mod.theme.color_text_placeholder = #8a8670
mod.theme.color_text_placeholder_hover = #9a967e
mod.theme.color_text_val = #c9bf9c
mod.theme.color_text_meta = #aaa386
mod.theme.color_text_cursor = #eea23a
mod.theme.color_cursor = #eea23a
mod.theme.color_label = #d2c8a5
mod.theme.color_label_hover = #ece3c4
mod.theme.color_label_focus = #d2c8a5
mod.theme.color_label_active = #d2c8a5
mod.theme.color_label_down = #b3aa8a
mod.theme.color_label_disabled = #6e6c58
mod.theme.color_label_inner = #d2c8a5
mod.theme.color_label_inner_hover = #ece3c4
mod.theme.color_label_inner_focus = #d2c8a5
mod.theme.color_label_inner_active = #d2c8a5
mod.theme.color_label_inner_down = #b3aa8a
mod.theme.color_label_inner_disabled = #6e6c58
mod.theme.color_label_outer = #d2c8a5
mod.theme.color_label_outer_hover = #ece3c4
mod.theme.color_label_outer_focus = #d2c8a5
mod.theme.color_label_outer_active = #d2c8a5
mod.theme.color_label_outer_down = #b3aa8a
mod.theme.color_label_outer_disabled = #6e6c58
mod.theme.color_icon = #d2c8a5
mod.theme.color_icon_hover = #ece3c4
mod.theme.color_icon_focus = #d2c8a5
mod.theme.color_icon_active = #d2c8a5
mod.theme.color_icon_down = #b3aa8a
mod.theme.color_icon_disabled = #6e6c58
// The accent seed: the primary, secondary and tertiary families are grown
// from `color_ctrl_selected`. One amber, for values and what is on.
mod.theme.color_ctrl_selected = #eea23a
mod.theme.color_focus = #eea23a
mod.theme.color_ctrl_active = #eea23a
mod.theme.color_val = #e8962e
mod.theme.color_selection_focus = #eea23a40
mod.theme.color_bg_highlight_inline = #eea23a40
mod.theme.color_terminal_bg = #191b15
mod.theme.color_terminal_text = #dcd2b0
// The instruments: amber digits behind smoked brown glass, dark red lenses.
mod.theme.color_screen = #1a130b
mod.theme.color_screen_ink = #ffae4a
mod.theme.screen_ghost = 0.10
mod.theme.color_lamp_off = #2a1a15
mod.theme.lamp_halo = 0.25
// The surface ladder in olive, so every widget built on the roles stays in
// the family, with ink that reads on the brightest rung.
mod.theme.color_surface = #3f4232
mod.theme.color_surface_dim = #35382a
mod.theme.color_surface_bright = #56594a
mod.theme.color_surface_container_low = #414434
mod.theme.color_surface_container = #454838
mod.theme.color_surface_container_high = #494c3c
mod.theme.color_surface_container_highest = #4e5140
mod.theme.color_on_surface = #e6ddbe
mod.theme.color_on_surface_variant = #b8b094
mod.theme.color_outline = #8c8a72
mod.theme.color_outline_variant = #56594a
mod.theme.color_inverse_surface = #e6ddbe
mod.theme.color_inverse_on_surface = #2c2e22
// Slim: a 28 point control row, 6 point gaps inside a group, true radii of
// 2 points on controls and 4 on panels.
mod.theme.space_factor = 6.0
mod.theme.space_1 = 3.0
mod.theme.space_2 = 6.0
mod.theme.space_3 = 9.0
mod.theme.space_4 = 12.0
mod.theme.space_5 = 18.0
mod.theme.space_6 = 24.0
mod.theme.mspace_1 = mod.turtle.Inset{top: 3.0 right: 3.0 bottom: 3.0 left: 3.0}
mod.theme.mspace_h_1 = mod.turtle.Inset{top: 0.0 right: 3.0 bottom: 0.0 left: 3.0}
mod.theme.mspace_v_1 = mod.turtle.Inset{top: 3.0 right: 0.0 bottom: 3.0 left: 0.0}
mod.theme.mspace_2 = mod.turtle.Inset{top: 6.0 right: 6.0 bottom: 6.0 left: 6.0}
mod.theme.mspace_h_2 = mod.turtle.Inset{top: 0.0 right: 6.0 bottom: 0.0 left: 6.0}
mod.theme.mspace_v_2 = mod.turtle.Inset{top: 6.0 right: 0.0 bottom: 6.0 left: 0.0}
mod.theme.mspace_3 = mod.turtle.Inset{top: 9.0 right: 9.0 bottom: 9.0 left: 9.0}
mod.theme.mspace_h_3 = mod.turtle.Inset{top: 0.0 right: 9.0 bottom: 0.0 left: 9.0}
mod.theme.mspace_v_3 = mod.turtle.Inset{top: 9.0 right: 0.0 bottom: 9.0 left: 0.0}
// The rungs the base froze at its own space factor, restated at ours.
mod.theme.size_control_s = 24.0
mod.theme.size_control_m = 28.0
mod.theme.size_control_l = 32.0
mod.theme.tab_height = 28.0
mod.theme.tab_flat_height = 26.0
mod.theme.corner_radius = 2.0
mod.theme.container_corner_radius = 4.0
mod.theme.textselection_corner_radius = 1.0
mod.theme.radius_xs = 1.5
mod.theme.radius_s = 2.0
mod.theme.radius_m = 3.0
mod.theme.radius_l = 4.0
// The base grotesque. A font size draws 1.333 layout points per unit, so
// 8.25 is the 11 point legend of a 28 point row (cap 0.29 of the row).
mod.theme.font_size_base = 8.25
mod.theme.font_size_p = 8.25
mod.theme.font_size_code = 8.25
mod.theme.font_regular = mod.theme.font_regular{font_size: 8.25}
mod.theme.font_label = mod.theme.font_label{font_size: 8.25}
mod.theme.font_bold = mod.theme.font_bold{font_size: 8.25}
mod.theme.font_italic = mod.theme.font_italic{font_size: 8.25}
mod.theme.font_bold_italic = mod.theme.font_bold_italic{font_size: 8.25}
mod.theme.font_code = mod.theme.font_code{font_size: 8.25}
mod.theme.type_title_l_size = 12.0
mod.theme.type_title_m_size = 10.5
mod.theme.type_title_s_size = 9.0
mod.theme.font_title_l = mod.theme.font_bold{font_size: 12.0 line_spacing: 1.2}
mod.theme.font_title_m = mod.theme.font_bold{font_size: 10.5 line_spacing: 1.2}
mod.theme.font_title_s = mod.theme.font_bold{font_size: 9.0 line_spacing: 1.2}
mod.theme.type_body_l_size = 9.0
mod.theme.type_body_m_size = 8.25
mod.theme.type_body_s_size = 7.5
mod.theme.type_label_l_size = 8.25
mod.theme.type_label_m_size = 7.5
mod.theme.type_label_s_size = 6.75
mod.theme.font_body_l = mod.theme.font_regular{font_size: 9.0 line_spacing: 1.35}
mod.theme.font_body_m = mod.theme.font_regular{font_size: 8.25 line_spacing: 1.35}
mod.theme.font_body_s = mod.theme.font_regular{font_size: 7.5 line_spacing: 1.35}
mod.theme.font_label_l = mod.theme.font_bold{font_size: 8.25 line_spacing: 1.2}
mod.theme.font_label_m = mod.theme.font_bold{font_size: 7.5 line_spacing: 1.2}
mod.theme.font_label_s = mod.theme.font_bold{font_size: 6.75 line_spacing: 1.2}
true