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>
241 lines
10 KiB
Text
241 lines
10 KiB
Text
mod.theme = mod.themes.dark
|
|
|
|
// Candy-red lacquer, deep and glossy, with chrome knobs and strong
|
|
// reflections. Red lacquer caps and slabs carry a broad gloss over their
|
|
// upper part and a thin chrome bezel; balls, thumbs and knobs are polished
|
|
// chrome; wells are wine-black with a chrome rim. State is physical: pressed
|
|
// and chosen sink, what is on is lit ice blue. The faces are drawn in
|
|
// widgets.splash; this file holds the tokens every face and every stock
|
|
// widget reads.
|
|
mod.theme.color_bg_app = #6a0c10
|
|
mod.theme.color_fg_app = #6a0c10
|
|
mod.theme.color_bg_container = #6a0c10
|
|
|
|
// Raised caps: the lacquer's middle red, for any stock face this sheet does
|
|
// not replace.
|
|
mod.theme.color_outset = #8a1a1e
|
|
mod.theme.color_outset_1 = #a02a2e
|
|
mod.theme.color_outset_2 = #6c1215
|
|
mod.theme.color_outset_hover = #962026
|
|
mod.theme.color_outset_1_hover = #ac3236
|
|
mod.theme.color_outset_2_hover = #761519
|
|
mod.theme.color_outset_focus = #8a1a1e
|
|
mod.theme.color_outset_1_focus = #a02a2e
|
|
mod.theme.color_outset_2_focus = #6c1215
|
|
mod.theme.color_outset_active = #5a1216
|
|
mod.theme.color_outset_1_active = #5a1216
|
|
mod.theme.color_outset_2_active = #5a1216
|
|
mod.theme.color_outset_down = #5e1114
|
|
mod.theme.color_outset_1_down = #5e1114
|
|
mod.theme.color_outset_2_down = #5e1114
|
|
mod.theme.color_outset_drag = #5e1114
|
|
mod.theme.color_outset_1_drag = #5e1114
|
|
mod.theme.color_outset_2_drag = #5e1114
|
|
mod.theme.color_outset_disabled = #5a1a1d
|
|
mod.theme.color_outset_1_disabled = #5a1a1d
|
|
mod.theme.color_outset_2_disabled = #5a1a1d
|
|
|
|
// Wells cut into the lacquer: fields, tracks, trays. Wine black.
|
|
mod.theme.color_inset = #200b0d
|
|
mod.theme.color_inset_1 = #200b0d
|
|
mod.theme.color_inset_2 = #2a1013
|
|
mod.theme.color_inset_hover = #26100f
|
|
mod.theme.color_inset_1_hover = #26100f
|
|
mod.theme.color_inset_2_hover = #2e1215
|
|
mod.theme.color_inset_focus = #200b0d
|
|
mod.theme.color_inset_1_focus = #200b0d
|
|
mod.theme.color_inset_2_focus = #2a1013
|
|
mod.theme.color_inset_active = #200b0d
|
|
mod.theme.color_inset_1_active = #200b0d
|
|
mod.theme.color_inset_2_active = #2a1013
|
|
mod.theme.color_inset_down = #200b0d
|
|
mod.theme.color_inset_1_down = #200b0d
|
|
mod.theme.color_inset_2_down = #2a1013
|
|
mod.theme.color_inset_drag = #200b0d
|
|
mod.theme.color_inset_1_drag = #200b0d
|
|
mod.theme.color_inset_2_drag = #2a1013
|
|
mod.theme.color_inset_empty = #200b0d
|
|
mod.theme.color_inset_1_empty = #200b0d
|
|
mod.theme.color_inset_2_empty = #2a1013
|
|
mod.theme.color_inset_disabled = #3a1215
|
|
mod.theme.color_inset_1_disabled = #3a1215
|
|
mod.theme.color_inset_2_disabled = #3a1215
|
|
|
|
// Every edge a stock face strokes is the dark outline; the light comes from
|
|
// the gloss and the chrome bezel the faces draw.
|
|
mod.theme.beveling = 0.34
|
|
mod.theme.color_bevel = #1a0506
|
|
mod.theme.color_bevel_hover = #1a0506
|
|
mod.theme.color_bevel_focus = #7fb4e8
|
|
mod.theme.color_bevel_active = #1a0506
|
|
mod.theme.color_bevel_empty = #1a0506
|
|
mod.theme.color_bevel_down = #1a0506
|
|
mod.theme.color_bevel_drag = #1a0506
|
|
mod.theme.color_bevel_disabled = #3a1012
|
|
mod.theme.color_bevel_inset_1 = #1a0506
|
|
mod.theme.color_bevel_inset_2 = #1a0506
|
|
mod.theme.color_bevel_outset_1 = #1a0506
|
|
mod.theme.color_bevel_outset_2 = #120304
|
|
mod.theme.color_bevel_inset_1_hover = #1a0506
|
|
mod.theme.color_bevel_inset_2_hover = #1a0506
|
|
mod.theme.color_bevel_outset_1_hover = #1a0506
|
|
mod.theme.color_bevel_outset_2_hover = #120304
|
|
mod.theme.color_bevel_inset_1_focus = #7fb4e8
|
|
mod.theme.color_bevel_inset_2_focus = #7fb4e8
|
|
mod.theme.color_bevel_outset_1_focus = #7fb4e8
|
|
mod.theme.color_bevel_outset_2_focus = #7fb4e8
|
|
mod.theme.color_bevel_inset_1_down = #1a0506
|
|
mod.theme.color_bevel_inset_2_down = #1a0506
|
|
mod.theme.color_bevel_outset_1_down = #1a0506
|
|
mod.theme.color_bevel_outset_2_down = #1a0506
|
|
mod.theme.color_bevel_inset_1_disabled = #3a1012
|
|
mod.theme.color_bevel_inset_2_disabled = #3a1012
|
|
mod.theme.color_bevel_outset_1_disabled = #3a1012
|
|
mod.theme.color_bevel_outset_2_disabled = #3a1012
|
|
|
|
// Ink. Warm near-white on the lacquer and in the wells; values a touch
|
|
// dimmer; disabled a dusty rose that still reads on the red.
|
|
mod.theme.color_text = #f6e8e6
|
|
mod.theme.color_text_hover = #fbf0ee
|
|
mod.theme.color_text_focus = #fbf0ee
|
|
mod.theme.color_text_active = #fbf0ee
|
|
mod.theme.color_text_down = #f0e0de
|
|
mod.theme.color_text_val = #ecd8d6
|
|
mod.theme.color_text_disabled = #b07a7c
|
|
mod.theme.color_text_placeholder = #a88486
|
|
mod.theme.color_text_placeholder_hover = #b89496
|
|
mod.theme.color_text_meta = #d8b8b8
|
|
mod.theme.color_text_cursor = #f4faff
|
|
mod.theme.color_cursor = #f4faff
|
|
mod.theme.color_label = #f8ecea
|
|
mod.theme.color_label_hover = #fdf4f2
|
|
mod.theme.color_label_focus = #fdf4f2
|
|
mod.theme.color_label_active = #fdf4f2
|
|
mod.theme.color_label_down = #f8ecea
|
|
mod.theme.color_label_disabled = #b07a7c
|
|
mod.theme.color_label_inner = #f6e8e6
|
|
mod.theme.color_label_inner_hover = #fbf0ee
|
|
mod.theme.color_label_inner_focus = #f6e8e6
|
|
mod.theme.color_label_inner_active = #ffffff
|
|
mod.theme.color_label_inner_down = #ecdcda
|
|
mod.theme.color_label_inner_drag = #ecdcda
|
|
mod.theme.color_label_inner_inactive = #d8b8b8
|
|
mod.theme.color_label_inner_disabled = #b07a7c
|
|
mod.theme.color_label_outer = #f8ecea
|
|
mod.theme.color_label_outer_off = #e0c4c4
|
|
mod.theme.color_label_outer_hover = #fdf4f2
|
|
mod.theme.color_label_outer_focus = #f8ecea
|
|
mod.theme.color_label_outer_active = #fdf4f2
|
|
mod.theme.color_label_outer_active_focus = #fdf4f2
|
|
mod.theme.color_label_outer_down = #f8ecea
|
|
mod.theme.color_label_outer_drag = #f8ecea
|
|
mod.theme.color_label_outer_disabled = #b07a7c
|
|
mod.theme.color_icon = #f0e0de
|
|
mod.theme.color_icon_hover = #fbf0ee
|
|
mod.theme.color_icon_focus = #f0e0de
|
|
mod.theme.color_icon_active = #ffffff
|
|
mod.theme.color_icon_down = #ecdcda
|
|
mod.theme.color_icon_disabled = #b07a7c
|
|
|
|
// The light: ice blue. The lamp's rim and the focus ring #7fb4e8; lit words
|
|
// and check marks #a8d4ff; value fills #8cc6ff.
|
|
mod.theme.color_focus = #7fb4e8
|
|
mod.theme.color_ctrl_active = #a8d4ff
|
|
mod.theme.color_val = #8cc6ff
|
|
mod.theme.color_val_hover = #8cc6ff
|
|
mod.theme.color_val_focus = #8cc6ff
|
|
mod.theme.color_val_drag = #8cc6ff
|
|
mod.theme.color_val_disabled = #6a4a58
|
|
mod.theme.color_mark_active = #a8d4ff
|
|
mod.theme.color_mark_active_hover = #a8d4ff
|
|
mod.theme.color_mark_focus = #a8d4ff
|
|
mod.theme.color_mark_disabled = #7a4a4c
|
|
// The accent seed: the primary, secondary and tertiary families are
|
|
// grown from it. A steel blue, the lamp's own hue, so white ink holds on
|
|
// it and it reads against the red.
|
|
mod.theme.color_ctrl_selected = #3a7fc0
|
|
mod.theme.color_bg_highlight = #7a1418
|
|
mod.theme.color_bg_highlight_inline = #2c4a6a
|
|
mod.theme.color_text_on_accent = #ffffff
|
|
// Selected text: the accent at a third over the well while focused.
|
|
mod.theme.color_selection = #00000000
|
|
mod.theme.color_selection_hover = #00000000
|
|
mod.theme.color_selection_down = #2c4a6a
|
|
mod.theme.color_selection_focus = #2c4a6a
|
|
|
|
// SPACING. Rows of 24 points, gaps of 8, panels padded 12. Every rung the
|
|
// sheet depends on is stated again (the base froze its own).
|
|
mod.theme.space_factor = 8.0
|
|
mod.theme.space_1 = 4.0
|
|
mod.theme.space_2 = 8.0
|
|
mod.theme.space_3 = 12.0
|
|
mod.theme.space_4 = 16.0
|
|
mod.theme.space_5 = 24.0
|
|
mod.theme.space_6 = 32.0
|
|
mod.theme.mspace_1 = mod.turtle.Inset{top: 4.0 right: 4.0 bottom: 4.0 left: 4.0}
|
|
mod.theme.mspace_h_1 = mod.turtle.Inset{top: 0.0 right: 4.0 bottom: 0.0 left: 4.0}
|
|
mod.theme.mspace_v_1 = mod.turtle.Inset{top: 4.0 right: 0.0 bottom: 4.0 left: 0.0}
|
|
mod.theme.mspace_2 = mod.turtle.Inset{top: 8.0 right: 8.0 bottom: 8.0 left: 8.0}
|
|
mod.theme.mspace_h_2 = mod.turtle.Inset{top: 0.0 right: 8.0 bottom: 0.0 left: 8.0}
|
|
mod.theme.mspace_v_2 = mod.turtle.Inset{top: 8.0 right: 0.0 bottom: 8.0 left: 0.0}
|
|
mod.theme.mspace_3 = mod.turtle.Inset{top: 12.0 right: 12.0 bottom: 12.0 left: 12.0}
|
|
mod.theme.mspace_h_3 = mod.turtle.Inset{top: 0.0 right: 12.0 bottom: 0.0 left: 12.0}
|
|
mod.theme.mspace_v_3 = mod.turtle.Inset{top: 12.0 right: 0.0 bottom: 12.0 left: 0.0}
|
|
mod.theme.size_control_s = 20.0
|
|
mod.theme.size_control_m = 24.0
|
|
mod.theme.size_control_l = 28.0
|
|
mod.theme.tab_height = 26.0
|
|
mod.theme.tab_flat_height = 24.0
|
|
// The corner the tests hold this sheet to is 3. The faces this sheet draws
|
|
// state their own corners in true points (caps 3, slabs 5); a stock face it
|
|
// does not replace draws twice the number written.
|
|
mod.theme.corner_radius = 3.0
|
|
mod.theme.container_corner_radius = 4.0
|
|
mod.theme.textselection_corner_radius = 1.0
|
|
// The radius rungs written in true points: caps 3, slabs and cards 6.
|
|
mod.theme.radius_s = 3.0
|
|
mod.theme.radius_m = 3.0
|
|
mod.theme.radius_l = 6.0
|
|
|
|
// TYPE. The library's own grotesque, as the pictures set it. Cap and field
|
|
// labels at 8 points (a third of the 24 point cap); captions in its bold.
|
|
mod.theme.font_size_p = 8.0
|
|
mod.theme.font_size_base = 8.0
|
|
mod.theme.type_label_l_size = 8.0
|
|
mod.theme.type_label_m_size = 7.5
|
|
mod.theme.type_label_s_size = 7.0
|
|
mod.theme.type_body_l_size = 8.5
|
|
mod.theme.type_body_m_size = 8.0
|
|
mod.theme.type_body_s_size = 7.5
|
|
mod.theme.type_title_s_size = 9.0
|
|
mod.theme.type_title_m_size = 10.0
|
|
mod.theme.type_title_l_size = 11.0
|
|
mod.theme.font_size_4 = 10.0
|
|
// Only the size changes; each keeps the base theme's family with all its
|
|
// members.
|
|
mod.theme.font_regular = mod.theme.font_regular{font_size: 8.0}
|
|
mod.theme.font_bold = mod.theme.font_bold{font_size: 8.5}
|
|
mod.theme.font_title_l = mod.theme.font_bold{font_size: 11.0 line_spacing: 1.2}
|
|
mod.theme.font_title_m = mod.theme.font_bold{font_size: 10.0 line_spacing: 1.2}
|
|
mod.theme.font_title_s = mod.theme.font_bold{font_size: 9.0 line_spacing: 1.2}
|
|
mod.theme.font_body_l = mod.theme.font_regular{font_size: 8.5 line_spacing: 1.35}
|
|
mod.theme.font_body_m = mod.theme.font_regular{font_size: 8.0 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.0 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: 7.0 line_spacing: 1.2}
|
|
|
|
// Instruments: ice-blue ink on a wine-black screen, a white lamp.
|
|
mod.theme.color_screen = #1a0709
|
|
mod.theme.color_screen_ink = #bcdcf6
|
|
mod.theme.color_lamp_off = #2a0c0e
|
|
mod.theme.color_lamp_plain = #f4f0f0
|
|
mod.theme.lamp_halo = 0.25
|
|
|
|
// No surface material: every face that matters is drawn by the sheet.
|
|
mod.theme.material_level = 0.0
|
|
mod.theme.material_margin = 0.0
|
|
mod.theme.material_glow = 0.0
|
|
mod.theme.material_ink_glow = 0.0
|
|
mod.theme.color_material_glow = #7fb4e8
|
|
true
|