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>
384 lines
14 KiB
Text
384 lines
14 KiB
Text
mod.theme = mod.themes.dark
|
|
|
|
// Cyberpunk: night-city street tech, after the Amp app's cyberpunk style. The
|
|
// ground is the hull of a machine, one plate of satin purple-grey steel with
|
|
// the neon reflected in it, in a frame of machinery (#121317 as a flat
|
|
// colour), raised plates are gunmetal, wells and screens black glass. One
|
|
// electric cyan for everything live (focus, selection, values, rims), hot
|
|
// magenta for what is on or held, warning yellow kept for warnings.
|
|
// widgets.splash cuts the controls into chamfers and edge-lights them in
|
|
// neon.
|
|
mod.theme.corner_radius = 2.5
|
|
mod.theme.container_corner_radius = 4.0
|
|
mod.theme.textselection_corner_radius = 1.5
|
|
mod.theme.beveling = 1.0
|
|
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.mspace_1 = mod.turtle.Inset{top: 3.0 right: 3.0 bottom: 3.0 left: 3.0}
|
|
|
|
// THE CHAMFER: the big cut on the top-left and bottom-right corners, the
|
|
// small one on the other two. Read by this sheet's shaders and by apps that
|
|
// draw their own chrome in the same cut.
|
|
mod.theme.chamfer = 7.0
|
|
mod.theme.chamfer_small = 2.5
|
|
|
|
// Grounds: void, gunmetal, raised plate, black glass well.
|
|
mod.theme.color_bg_app = #121317
|
|
mod.theme.color_fg_app = #0d0f14
|
|
mod.theme.color_bg_container = #0d0f14
|
|
mod.theme.color_bg_even = #0b0d11
|
|
mod.theme.color_bg_odd = #0f1217
|
|
mod.theme.color_app_caption_bar = #12131700
|
|
mod.theme.color_dock_tab_active = #0d0f14
|
|
|
|
// The neon: cyan is live, magenta is held, yellow warns.
|
|
mod.theme.color_focus = #14f0ff
|
|
mod.theme.color_makepad = #14f0ff
|
|
mod.theme.color_ctrl_selected = #14f0ff
|
|
mod.theme.color_ctrl_active = #ff1fb8
|
|
mod.theme.color_bg_highlight = #10303a
|
|
mod.theme.color_bg_highlight_inline = #10303a
|
|
mod.theme.color_highlight = #10303a
|
|
mod.theme.color_bg_unfocussed = #0e2229
|
|
mod.theme.color_drag_quad = #14f0ff
|
|
mod.theme.color_drag_target_preview = #10303a
|
|
mod.theme.color_error = #ff3b5c
|
|
mod.theme.color_warning = #fad60d
|
|
mod.theme.color_success = #39ff9c
|
|
mod.theme.color_high = #ff3b5c
|
|
mod.theme.color_mid = #fad60d
|
|
mod.theme.color_low = #39ff9c
|
|
mod.theme.color_icon_wait = #39ff9c
|
|
mod.theme.color_icon_panic = #ff3b5c
|
|
|
|
// Ink: ice-white titles, blue-grey body, a darker meta line.
|
|
mod.theme.color_cursor = #14f0ff
|
|
mod.theme.color_cursor_focus = #14f0ff
|
|
mod.theme.color_cursor_empty = #14f0ff
|
|
mod.theme.color_cursor_border = #14f0ff
|
|
mod.theme.color_text_cursor = #14f0ff
|
|
mod.theme.color_text = #e6fbff
|
|
mod.theme.color_text_val = #9fb4c8
|
|
mod.theme.color_text_hl = #ffffff
|
|
mod.theme.color_text_hover = #ffffff
|
|
mod.theme.color_text_focus = #e6fbff
|
|
mod.theme.color_text_active = #e6fbff
|
|
mod.theme.color_text_down = #ffffff
|
|
mod.theme.color_text_disabled = #4f6272
|
|
mod.theme.color_text_placeholder = #6b8499
|
|
mod.theme.color_text_placeholder_hover = #7f97ab
|
|
mod.theme.color_text_meta = #7390a6
|
|
mod.theme.color_label_inner = #e6fbff
|
|
mod.theme.color_label_inner_hover = #ffffff
|
|
mod.theme.color_label_inner_focus = #e6fbff
|
|
mod.theme.color_label_inner_active = #e6fbff
|
|
mod.theme.color_label_inner_down = #ffffff
|
|
mod.theme.color_label_inner_drag = #ffffff
|
|
mod.theme.color_label_inner_inactive = #7f97ab
|
|
mod.theme.color_label_inner_disabled = #4f6272
|
|
mod.theme.color_label_outer = #9fb4c8
|
|
mod.theme.color_label_outer_off = #7f97ab
|
|
mod.theme.color_label_outer_hover = #e6fbff
|
|
mod.theme.color_label_outer_focus = #9fb4c8
|
|
mod.theme.color_label_outer_active = #e6fbff
|
|
mod.theme.color_label_outer_active_focus = #e6fbff
|
|
mod.theme.color_label_outer_down = #9fb4c8
|
|
mod.theme.color_label_outer_drag = #9fb4c8
|
|
mod.theme.color_label_outer_disabled = #4f6272
|
|
mod.theme.color_label = #e6fbff
|
|
mod.theme.color_label_hover = #ffffff
|
|
mod.theme.color_label_focus = #e6fbff
|
|
mod.theme.color_label_active = #e6fbff
|
|
mod.theme.color_label_down = #e6fbff
|
|
mod.theme.color_label_disabled = #4f6272
|
|
mod.theme.color_icon = #9fb4c8
|
|
mod.theme.color_icon_hover = #14f0ff
|
|
mod.theme.color_icon_focus = #e6fbff
|
|
mod.theme.color_icon_active = #14f0ff
|
|
mod.theme.color_icon_inactive = #3c4a57
|
|
mod.theme.color_icon_down = #ff1fb8
|
|
mod.theme.color_icon_disabled = #3c4a57
|
|
mod.theme.color_text_on_accent = #03161a
|
|
|
|
// Checks, radios, slider fills and handles: cyan.
|
|
mod.theme.color_mark = #14f0ff
|
|
mod.theme.color_mark_hover = #7ff7ff
|
|
mod.theme.color_mark_active = #14f0ff
|
|
mod.theme.color_mark_active_hover = #7ff7ff
|
|
mod.theme.color_mark_focus = #14f0ff
|
|
mod.theme.color_mark_down = #ff1fb8
|
|
mod.theme.color_mark_empty = #05060a
|
|
mod.theme.color_val = #0fb8c4
|
|
mod.theme.color_val_hover = #14f0ff
|
|
mod.theme.color_val_focus = #14f0ff
|
|
mod.theme.color_val_drag = #ff1fb8
|
|
mod.theme.color_val_1 = #0a6f78
|
|
mod.theme.color_val_1_hover = #0fb8c4
|
|
mod.theme.color_val_1_focus = #0fb8c4
|
|
mod.theme.color_val_1_drag = #ff1fb8
|
|
mod.theme.color_val_2 = #0fb8c4
|
|
mod.theme.color_val_2_hover = #14f0ff
|
|
mod.theme.color_val_2_focus = #14f0ff
|
|
mod.theme.color_val_2_drag = #ff1fb8
|
|
mod.theme.color_handle = #9fb4c8
|
|
mod.theme.color_handle_hover = #e6fbff
|
|
mod.theme.color_handle_focus = #14f0ff
|
|
mod.theme.color_handle_drag = #ff1fb8
|
|
mod.theme.color_handle_1 = #1b1e24
|
|
mod.theme.color_handle_1_hover = #25282e
|
|
mod.theme.color_handle_1_focus = #25282e
|
|
mod.theme.color_handle_1_drag = #25282e
|
|
mod.theme.color_handle_2 = #05060a
|
|
mod.theme.color_handle_2_hover = #05060a
|
|
mod.theme.color_handle_2_focus = #05060a
|
|
mod.theme.color_handle_2_drag = #05060a
|
|
|
|
// Selection: a cyan wash over the glass while the field has the keys; a
|
|
// field at rest shows no selection, or a value a control selects for the
|
|
// next edit would stand behind a block of it.
|
|
mod.theme.color_selection = #00000000
|
|
mod.theme.color_selection_hover = #00000000
|
|
mod.theme.color_selection_down = #0f5561
|
|
mod.theme.color_selection_focus = #106270
|
|
mod.theme.color_selection_empty = #00000000
|
|
|
|
// Wells (fields, checks) are black glass; plates (buttons) are gunmetal;
|
|
// the pressed face is a magenta-tinted black.
|
|
mod.theme.color_inset = #05060a
|
|
mod.theme.color_inset_1 = #05060a
|
|
mod.theme.color_inset_2 = #05060a
|
|
mod.theme.color_inset_hover = #070a0f
|
|
mod.theme.color_inset_1_hover = #070a0f
|
|
mod.theme.color_inset_2_hover = #070a0f
|
|
mod.theme.color_inset_focus = #04070b
|
|
mod.theme.color_inset_1_focus = #04070b
|
|
mod.theme.color_inset_2_focus = #04070b
|
|
mod.theme.color_inset_active = #04070b
|
|
mod.theme.color_inset_1_active = #04070b
|
|
mod.theme.color_inset_2_active = #04070b
|
|
mod.theme.color_inset_down = #04070b
|
|
mod.theme.color_inset_1_down = #04070b
|
|
mod.theme.color_inset_2_down = #04070b
|
|
mod.theme.color_inset_disabled = #090a0d
|
|
mod.theme.color_inset_1_disabled = #090a0d
|
|
mod.theme.color_inset_2_disabled = #090a0d
|
|
mod.theme.color_inset_empty = #05060a
|
|
mod.theme.color_inset_1_empty = #05060a
|
|
mod.theme.color_inset_2_empty = #05060a
|
|
mod.theme.color_inset_drag = #05060a
|
|
mod.theme.color_inset_1_drag = #05060a
|
|
mod.theme.color_inset_2_drag = #05060a
|
|
mod.theme.color_outset = #1b1e24
|
|
mod.theme.color_outset_1 = #1b1e24
|
|
mod.theme.color_outset_2 = #1b1e24
|
|
mod.theme.color_outset_hover = #25282e
|
|
mod.theme.color_outset_1_hover = #25282e
|
|
mod.theme.color_outset_2_hover = #25282e
|
|
mod.theme.color_outset_focus = #1b1e24
|
|
mod.theme.color_outset_1_focus = #1b1e24
|
|
mod.theme.color_outset_2_focus = #1b1e24
|
|
mod.theme.color_outset_active = #3a0f2c
|
|
mod.theme.color_outset_1_active = #3a0f2c
|
|
mod.theme.color_outset_2_active = #3a0f2c
|
|
mod.theme.color_outset_down = #2a0b21
|
|
mod.theme.color_outset_1_down = #2a0b21
|
|
mod.theme.color_outset_2_down = #2a0b21
|
|
mod.theme.color_outset_disabled = #111317
|
|
mod.theme.color_outset_1_disabled = #111317
|
|
mod.theme.color_outset_2_disabled = #111317
|
|
mod.theme.color_outset_empty = #1b1e24
|
|
mod.theme.color_outset_1_empty = #1b1e24
|
|
mod.theme.color_outset_2_empty = #1b1e24
|
|
mod.theme.color_outset_drag = #25282e
|
|
mod.theme.color_outset_1_drag = #25282e
|
|
mod.theme.color_outset_2_drag = #25282e
|
|
mod.theme.color_outset_inactive = #0d0f14
|
|
|
|
// The bevel roles are the rim: a dim cyan hairline at rest, full cyan
|
|
// under the pointer or focus, magenta while held.
|
|
mod.theme.color_bevel = #1d4550
|
|
mod.theme.color_bevel_inset_1 = #1d4550
|
|
mod.theme.color_bevel_inset_2 = #1d4550
|
|
mod.theme.color_bevel_outset_1 = #1d4550
|
|
mod.theme.color_bevel_outset_2 = #1d4550
|
|
mod.theme.color_bevel_hover = #16a9b6
|
|
mod.theme.color_bevel_inset_1_hover = #16a9b6
|
|
mod.theme.color_bevel_inset_2_hover = #16a9b6
|
|
mod.theme.color_bevel_outset_1_hover = #16a9b6
|
|
mod.theme.color_bevel_outset_2_hover = #16a9b6
|
|
mod.theme.color_bevel_focus = #14f0ff
|
|
mod.theme.color_bevel_inset_1_focus = #14f0ff
|
|
mod.theme.color_bevel_inset_2_focus = #14f0ff
|
|
mod.theme.color_bevel_outset_1_focus = #14f0ff
|
|
mod.theme.color_bevel_outset_2_focus = #14f0ff
|
|
mod.theme.color_bevel_active = #ff1fb8
|
|
mod.theme.color_bevel_inset_1_active = #ff1fb8
|
|
mod.theme.color_bevel_inset_2_active = #ff1fb8
|
|
mod.theme.color_bevel_outset_1_active = #ff1fb8
|
|
mod.theme.color_bevel_outset_2_active = #ff1fb8
|
|
mod.theme.color_bevel_down = #ff1fb8
|
|
mod.theme.color_bevel_inset_1_down = #ff1fb8
|
|
mod.theme.color_bevel_inset_2_down = #ff1fb8
|
|
mod.theme.color_bevel_outset_1_down = #ff1fb8
|
|
mod.theme.color_bevel_outset_2_down = #ff1fb8
|
|
mod.theme.color_bevel_disabled = #1a2129
|
|
mod.theme.color_bevel_inset_1_disabled = #1a2129
|
|
mod.theme.color_bevel_inset_2_disabled = #1a2129
|
|
mod.theme.color_bevel_outset_1_disabled = #1a2129
|
|
mod.theme.color_bevel_outset_2_disabled = #1a2129
|
|
mod.theme.color_bevel_empty = #1d4550
|
|
mod.theme.color_bevel_inset_1_empty = #1d4550
|
|
mod.theme.color_bevel_inset_2_empty = #1d4550
|
|
mod.theme.color_bevel_outset_1_empty = #1d4550
|
|
mod.theme.color_bevel_outset_2_empty = #1d4550
|
|
mod.theme.color_bevel_drag = #16a9b6
|
|
mod.theme.color_bevel_inset_1_drag = #16a9b6
|
|
mod.theme.color_bevel_inset_2_drag = #16a9b6
|
|
mod.theme.color_bevel_outset_1_drag = #16a9b6
|
|
mod.theme.color_bevel_outset_2_drag = #16a9b6
|
|
|
|
// Screens: black glass lit in cyan; a lamp that is out is a dark lens.
|
|
mod.theme.color_screen = #07080c
|
|
mod.theme.color_screen_ink = #14f0ff
|
|
mod.theme.color_lamp_off = #141017
|
|
|
|
// Terminal surfaces follow the app unless this style supplies a console palette.
|
|
mod.theme.color_terminal_bg = #05060a
|
|
mod.theme.color_terminal_text = #b8f6ff
|
|
// The Architecture map's categorical palette (top-level directory ownership), kind stripes and status roles.
|
|
mod.theme.color_map_1 = #286cab
|
|
mod.theme.color_map_1_a = #075d8f
|
|
mod.theme.color_map_1_b = #177abc
|
|
mod.theme.color_map_1_c = #0067a9
|
|
mod.theme.color_map_1_d = #4885be
|
|
mod.theme.color_map_1_e = #1a548c
|
|
mod.theme.color_map_1_f = #2d70b9
|
|
mod.theme.color_map_1_g = #1f5da6
|
|
mod.theme.color_map_1_h = #4f7bba
|
|
mod.theme.color_map_2 = #00816b
|
|
mod.theme.color_map_2_a = #126d53
|
|
mod.theme.color_map_2_b = #0e8f70
|
|
mod.theme.color_map_2_c = #007b62
|
|
mod.theme.color_map_2_d = #409882
|
|
mod.theme.color_map_2_e = #006756
|
|
mod.theme.color_map_2_f = #008774
|
|
mod.theme.color_map_2_g = #007365
|
|
mod.theme.color_map_2_h = #319184
|
|
mod.theme.color_map_3 = #906b00
|
|
mod.theme.color_map_3_a = #805802
|
|
mod.theme.color_map_3_b = #a37300
|
|
mod.theme.color_map_3_c = #8b6400
|
|
mod.theme.color_map_3_d = #a78339
|
|
mod.theme.color_map_3_e = #735600
|
|
mod.theme.color_map_3_f = #947200
|
|
mod.theme.color_map_3_g = #7e6200
|
|
mod.theme.color_map_3_h = #998132
|
|
mod.theme.color_map_4 = #78569e
|
|
mod.theme.color_map_4_a = #5f4a8a
|
|
mod.theme.color_map_4_b = #8061b3
|
|
mod.theme.color_map_4_c = #714f9f
|
|
mod.theme.color_map_4_d = #8d70b3
|
|
mod.theme.color_map_4_e = #604280
|
|
mod.theme.color_map_4_f = #8358a7
|
|
mod.theme.color_map_4_g = #734693
|
|
mod.theme.color_map_4_h = #8e68a7
|
|
mod.theme.color_map_5 = #04869c
|
|
mod.theme.color_map_5_a = #007480
|
|
mod.theme.color_map_5_b = #0094a6
|
|
mod.theme.color_map_5_c = #008092
|
|
mod.theme.color_map_5_d = #429eb1
|
|
mod.theme.color_map_5_e = #006c80
|
|
mod.theme.color_map_5_f = #008ca7
|
|
mod.theme.color_map_5_g = #007892
|
|
mod.theme.color_map_5_h = #4196b0
|
|
mod.theme.color_map_6 = #3b7d3f
|
|
mod.theme.color_map_6_a = #3c682b
|
|
mod.theme.color_map_6_b = #4b893d
|
|
mod.theme.color_map_6_c = #35782e
|
|
mod.theme.color_map_6_d = #5b945a
|
|
mod.theme.color_map_6_e = #28642f
|
|
mod.theme.color_map_6_f = #328544
|
|
mod.theme.color_map_6_g = #137436
|
|
mod.theme.color_map_6_h = #488f5e
|
|
mod.theme.color_map_7 = #9c5313
|
|
mod.theme.color_map_7_a = #874219
|
|
mod.theme.color_map_7_b = #b0591e
|
|
mod.theme.color_map_7_c = #9a4900
|
|
mod.theme.color_map_7_d = #b26d3d
|
|
mod.theme.color_map_7_e = #7e4000
|
|
mod.theme.color_map_7_f = #a45800
|
|
mod.theme.color_map_7_g = #8a4b00
|
|
mod.theme.color_map_7_h = #a76a2e
|
|
mod.theme.color_map_8 = #a04b6f
|
|
mod.theme.color_map_8_a = #863f65
|
|
mod.theme.color_map_8_b = #af5382
|
|
mod.theme.color_map_8_c = #9c416e
|
|
mod.theme.color_map_8_d = #b56787
|
|
mod.theme.color_map_8_e = #823857
|
|
mod.theme.color_map_8_f = #ac4c71
|
|
mod.theme.color_map_8_g = #993a5d
|
|
mod.theme.color_map_8_h = #b16078
|
|
mod.theme.color_map_9 = #b64f4b
|
|
mod.theme.color_map_9_a = #9c4149
|
|
mod.theme.color_map_9_b = #c9555b
|
|
mod.theme.color_map_9_c = #b54246
|
|
mod.theme.color_map_9_d = #cb6c68
|
|
mod.theme.color_map_9_e = #963d38
|
|
mod.theme.color_map_9_f = #c25046
|
|
mod.theme.color_map_9_g = #ae3e31
|
|
mod.theme.color_map_9_h = #c46857
|
|
mod.theme.color_map_10 = #606cbd
|
|
mod.theme.color_map_10_a = #485fa3
|
|
mod.theme.color_map_10_b = #6179d2
|
|
mod.theme.color_map_10_c = #5466be
|
|
mod.theme.color_map_10_d = #7786d0
|
|
mod.theme.color_map_10_e = #4d569c
|
|
mod.theme.color_map_10_f = #696fca
|
|
mod.theme.color_map_10_g = #5b5cb6
|
|
mod.theme.color_map_10_h = #7c7cc8
|
|
mod.theme.color_map_11 = #737c24
|
|
mod.theme.color_map_11_a = #696715
|
|
mod.theme.color_map_11_b = #85861d
|
|
mod.theme.color_map_11_c = #717500
|
|
mod.theme.color_map_11_d = #8c9348
|
|
mod.theme.color_map_11_e = #5b6416
|
|
mod.theme.color_map_11_f = #758421
|
|
mod.theme.color_map_11_g = #617307
|
|
mod.theme.color_map_11_h = #7c9049
|
|
mod.theme.color_map_kind_module = #94bfff
|
|
mod.theme.color_map_kind_file = #b7c0cc
|
|
mod.theme.color_map_kind_struct = #74cbb7
|
|
mod.theme.color_map_kind_enum = #9bcb79
|
|
mod.theme.color_map_kind_trait = #c1a0e0
|
|
mod.theme.color_map_kind_impl = #8aace0
|
|
mod.theme.color_map_kind_fn = #ddc27b
|
|
mod.theme.color_map_kind_const = #daa37d
|
|
mod.theme.color_map_kind_type_alias = #84c7d8
|
|
mod.theme.color_map_kind_macro = #d895b6
|
|
mod.theme.color_map_kind_component = #94bfff
|
|
mod.theme.color_map_kind_thread = #ddc27b
|
|
mod.theme.color_map_kind_queue = #9bcb79
|
|
mod.theme.color_map_kind_store = #daa37d
|
|
mod.theme.color_map_kind_memory = #c1a0e0
|
|
mod.theme.color_map_kind_gpu = #84c7d8
|
|
mod.theme.color_map_kind_io = #d895b6
|
|
mod.theme.color_map_basis_exact = #b8c2cf
|
|
mod.theme.color_map_basis_inferred = #d9ae6b
|
|
mod.theme.color_map_basis_candidates = #b69acf
|
|
mod.theme.color_syntax_keyword = #90badc
|
|
mod.theme.color_syntax_ident = #d4d4d4
|
|
mod.theme.color_syntax_type = #a7d2cb
|
|
mod.theme.color_syntax_fn = #d6c9ac
|
|
mod.theme.color_syntax_literal = #b3d1af
|
|
mod.theme.color_syntax_string = #e0baac
|
|
mod.theme.color_syntax_comment = #b2c3ae
|
|
mod.theme.color_syntax_macro = #d8bcde
|
|
mod.theme.color_syntax_attribute = #e7c8a6
|
|
mod.theme.color_syntax_punctuation = #d4d4d4
|
|
mod.theme.color_syntax_keyword_branch = #d8bcde
|
|
mod.theme.color_syntax_keyword_loop = #e7c8a6
|
|
mod.theme.color_syntax_constant = #e0baac
|
|
mod.theme.color_syntax_bg = #05060a
|
|
true
|