makepad/widgets/themes/android/theme.splash
Admin a8bf0e4dcf wm on Android: every app is its own process -- the plain makepad-wm now ships as an Android APK (cargo makepad android ... proc-pack -p makepad-wm-android) whose phone apps run as real child processes instead of dylibs loaded into the WM. The interface between WM and app shrinks to what the desktop WM uses: shared GPU buffers and the StudioToApp/AppToStudio protocol. The WM allocates each app's swapchain as AHardwareBuffers and hands them over a unix socket (AHardwareBuffer_sendHandleToUnixSocket, API 26); the child, started through the libmakepad_launch.so launcher in nativeLibraryDir (W^X allows it there), imports them into a windowless Vulkan device and renders its window pass into them (android_hosted.rs). Each app library links the engine statically, so the engine-dylib identity handling of wm-dyn is not needed. Children have no JVM: assets are read from the APK file, audio device lookup no longer goes through Java, and the startup/resize extra draw of the Activity build is repeated so the first frame carries its text. On a phone the WM asks for the soft keyboard only while the child reports a focused text field. Proven on a Pixel 11 Pro XL: all twelve phone apps launch as processes (first frame 1.6-2.4 s cold), taps reach them. Not yet: HTTP in children (the Activity build borrows Java's), clipboard/permission/file-picker relays, idle-app reclaim, and on-device builds of app libraries
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:44 +02:00

276 lines
11 KiB
Text

// Current Android Material 3 Expressive semantic theme.
mod.theme = mod.themes.light
mod.theme.color_terminal_bg = #000000
mod.theme.color_terminal_text = #e8eaed
mod.theme.textselection_corner_radius = 3.0
mod.theme.space_factor = 7.0
mod.theme.space_1 = 3.5
mod.theme.space_2 = 7.0
mod.theme.space_3 = 10.5
mod.theme.mspace_1 = mod.turtle.Inset{top: 3.5 right: 3.5 bottom: 3.5 left: 3.5}
mod.theme.color_bg_highlight_inline = #c9dffc
mod.theme.color_text = #1d1b20
mod.theme.color_text_hover = #1d1b20
mod.theme.color_text_focus = #1d1b20
mod.theme.color_text_active = #1d1b20
mod.theme.color_text_down = #1d1b20
mod.theme.color_text_disabled = #77777b
mod.theme.color_label_inner = #1d1b20
mod.theme.color_label_inner_hover = #1d1b20
mod.theme.color_label_inner_focus = #1d1b20
mod.theme.color_label_inner_active = #1d1b20
mod.theme.color_label_inner_down = #1d1b20
mod.theme.color_label_inner_disabled = #77777b
mod.theme.color_label_outer = #1d1b20
mod.theme.color_label_outer_hover = #1d1b20
mod.theme.color_label_outer_focus = #1d1b20
mod.theme.color_label_outer_active = #1d1b20
mod.theme.color_label_outer_down = #1d1b20
mod.theme.color_label_outer_disabled = #77777b
mod.theme.color_label = #1d1b20
mod.theme.color_label_hover = #1d1b20
mod.theme.color_label_focus = #1d1b20
mod.theme.color_label_active = #1d1b20
mod.theme.color_label_down = #1d1b20
mod.theme.color_label_disabled = #77777b
mod.theme.color_icon = #1d1b20
mod.theme.color_icon_hover = #1d1b20
mod.theme.color_icon_focus = #1d1b20
mod.theme.color_icon_active = #1d1b20
mod.theme.color_icon_down = #1d1b20
mod.theme.color_icon_disabled = #77777b
mod.theme.color_bevel_inset_1 = #bebebe
mod.theme.color_bevel_inset_2 = #bebebe
mod.theme.color_bevel_outset_1 = #bebebe
mod.theme.color_bevel_outset_2 = #bebebe
mod.theme.color_bevel_inset_1_hover = #bebebe
mod.theme.color_bevel_inset_2_hover = #bebebe
mod.theme.color_bevel_outset_1_hover = #bebebe
mod.theme.color_bevel_outset_2_hover = #bebebe
mod.theme.color_bevel_inset_1_focus = #007aff
mod.theme.color_bevel_inset_2_focus = #007aff
mod.theme.color_bevel_outset_1_focus = #007aff
mod.theme.color_bevel_outset_2_focus = #007aff
mod.theme.color_inset_active = #ffffff
mod.theme.color_inset_1_active = #ffffff
mod.theme.color_inset_2_active = #ffffff
mod.theme.color_outset_active = #ffffff
mod.theme.color_outset_1_active = #ffffff
mod.theme.color_outset_2_active = #ffffff
mod.theme.color_bevel_inset_1_active = #bebebe
mod.theme.color_bevel_inset_2_active = #bebebe
mod.theme.color_bevel_outset_1_active = #bebebe
mod.theme.color_bevel_outset_2_active = #bebebe
mod.theme.color_bevel_inset_1_down = #bebebe
mod.theme.color_bevel_inset_2_down = #bebebe
mod.theme.color_bevel_outset_1_down = #bebebe
mod.theme.color_bevel_outset_2_down = #bebebe
mod.theme.color_inset_disabled = #ececec
mod.theme.color_inset_1_disabled = #ececec
mod.theme.color_inset_2_disabled = #ececec
mod.theme.color_outset_disabled = #ececec
mod.theme.color_outset_1_disabled = #ececec
mod.theme.color_outset_2_disabled = #ececec
mod.theme.color_bevel_inset_1_disabled = #bebebe
mod.theme.color_bevel_inset_2_disabled = #bebebe
mod.theme.color_bevel_outset_1_disabled = #bebebe
mod.theme.color_bevel_outset_2_disabled = #bebebe
mod.theme.color_bevel_inset_1_empty = #bebebe
mod.theme.color_bevel_inset_2_empty = #bebebe
mod.theme.color_bevel_outset_1_empty = #bebebe
mod.theme.color_bevel_outset_2_empty = #bebebe
mod.theme.color_inset_drag = #ffffff
mod.theme.color_inset_1_drag = #ffffff
mod.theme.color_inset_2_drag = #ffffff
mod.theme.color_outset_drag = #ffffff
mod.theme.color_outset_1_drag = #ffffff
mod.theme.color_outset_2_drag = #ffffff
mod.theme.color_bevel_inset_1_drag = #bebebe
mod.theme.color_bevel_inset_2_drag = #bebebe
mod.theme.color_bevel_outset_1_drag = #bebebe
mod.theme.color_bevel_outset_2_drag = #bebebe
mod.theme.corner_radius = 20.0
mod.theme.container_corner_radius = 28.0
mod.theme.beveling = 0.0
mod.theme.font_size_p = 12.0
mod.theme.color_bg_app = #fef7ff
mod.theme.color_fg_app = #fef7ff
mod.theme.color_bg_container = #fef7ff
mod.theme.color_focus = #6750a4
mod.theme.color_ctrl_selected = #6750a4
mod.theme.color_ctrl_active = #6750a4
mod.theme.color_cursor = #1d1b20
mod.theme.color_text_cursor = #1d1b20
mod.theme.color_bg_highlight = #eaddff
mod.theme.color_text_on_accent = #ffffff
mod.theme.color_inset = #f3edf7
mod.theme.color_inset_1 = #f3edf7
mod.theme.color_inset_2 = #f3edf7
mod.theme.color_inset_hover = #f3edf7
mod.theme.color_inset_1_hover = #f3edf7
mod.theme.color_inset_2_hover = #f3edf7
mod.theme.color_inset_focus = #f3edf7
mod.theme.color_inset_1_focus = #f3edf7
mod.theme.color_inset_2_focus = #f3edf7
mod.theme.color_inset_down = #f3edf7
mod.theme.color_inset_1_down = #f3edf7
mod.theme.color_inset_2_down = #f3edf7
mod.theme.color_inset_empty = #f3edf7
mod.theme.color_inset_1_empty = #f3edf7
mod.theme.color_inset_2_empty = #f3edf7
mod.theme.color_outset = #f3edf7
mod.theme.color_outset_1 = #f3edf7
mod.theme.color_outset_2 = #f3edf7
mod.theme.color_outset_hover = #f3edf7
mod.theme.color_outset_1_hover = #f3edf7
mod.theme.color_outset_2_hover = #f3edf7
mod.theme.color_outset_focus = #f3edf7
mod.theme.color_outset_1_focus = #f3edf7
mod.theme.color_outset_2_focus = #f3edf7
mod.theme.color_outset_down = #f3edf7
mod.theme.color_outset_1_down = #f3edf7
mod.theme.color_outset_2_down = #f3edf7
mod.theme.color_outset_empty = #f3edf7
mod.theme.color_outset_1_empty = #f3edf7
mod.theme.color_outset_2_empty = #f3edf7
use mod.res.*
use mod.text.*
mod.theme.font_regular = mod.theme.font_regular{font_family: FontFamily{latin := FontMember{res: crate_resource("makepad_widgets:resources/RobotoFlex.ttf") weight: 400.0 asc: 0.0 desc: 0.0}}}
mod.theme.font_label = mod.theme.font_label{font_family: FontFamily{latin := FontMember{res: crate_resource("makepad_widgets:resources/RobotoFlex.ttf") weight: 400.0 asc: 0.0 desc: 0.0}}}
mod.theme.font_bold = mod.theme.font_bold{font_family: FontFamily{latin := FontMember{res: crate_resource("makepad_widgets:resources/RobotoFlex.ttf") weight: 600.0 asc: 0.0 desc: 0.0}}}
// The Architecture map's categorical palette (top-level directory ownership), kind stripes and status roles.
mod.theme.color_map_1 = #9cccff
mod.theme.color_map_1_a = #bae0ff
mod.theme.color_map_1_b = #85c1f5
mod.theme.color_map_1_c = #a5d3ff
mod.theme.color_map_1_d = #87b2df
mod.theme.color_map_1_e = #c6e1ff
mod.theme.color_map_1_f = #94c5fe
mod.theme.color_map_1_g = #b8d7ff
mod.theme.color_map_1_h = #94b6e7
mod.theme.color_map_2 = #88dec7
mod.theme.color_map_2_a = #a8f0d4
mod.theme.color_map_2_b = #77d2b4
mod.theme.color_map_2_c = #89e6c9
mod.theme.color_map_2_d = #77c2ad
mod.theme.color_map_2_e = #a3f0dc
mod.theme.color_map_2_f = #76d9c4
mod.theme.color_map_2_g = #88edda
mod.theme.color_map_2_h = #79c9bb
mod.theme.color_map_3 = #efcc83
mod.theme.color_map_3_a = #ffd79b
mod.theme.color_map_3_b = #e9bc6e
mod.theme.color_map_3_c = #fcd081
mod.theme.color_map_3_d = #d3b373
mod.theme.color_map_3_e = #f9da99
mod.theme.color_map_3_f = #e8c673
mod.theme.color_map_3_g = #fadb86
mod.theme.color_map_3_h = #d2bc79
mod.theme.color_map_4 = #d5b9f7
mod.theme.color_map_4_a = #dfd3ff
mod.theme.color_map_4_b = #c4acf1
mod.theme.color_map_4_c = #d9c1ff
mod.theme.color_map_4_d = #b9a2d8
mod.theme.color_map_4_e = #e8d4ff
mod.theme.color_map_4_f = #d3b0f3
mod.theme.color_map_4_g = #e6c5ff
mod.theme.color_map_4_h = #c6a6da
mod.theme.color_map_5 = #8fdcef
mod.theme.color_map_5_a = #a5ecf7
mod.theme.color_map_5_b = #78d1e1
mod.theme.color_map_5_c = #8ce4f6
mod.theme.color_map_5_d = #7dc1d1
mod.theme.color_map_5_e = #a7ebfd
mod.theme.color_map_5_f = #82d6ee
mod.theme.color_map_5_g = #a0e8ff
mod.theme.color_map_5_h = #86c6dc
mod.theme.color_map_6 = #a4dba4
mod.theme.color_map_6_a = #c3ecb5
mod.theme.color_map_6_b = #9ace8e
mod.theme.color_map_6_c = #aae2a3
mod.theme.color_map_6_d = #90bf8e
mod.theme.color_map_6_e = #bbeebc
mod.theme.color_map_6_f = #95d79d
mod.theme.color_map_6_g = #a6ebb3
mod.theme.color_map_6_h = #8ec79c
mod.theme.color_map_7 = #fab688
mod.theme.color_map_7_a = #ffcfb6
mod.theme.color_map_7_b = #f3a579
mod.theme.color_map_7_c = #ffbd95
mod.theme.color_map_7_d = #db9e77
mod.theme.color_map_7_e = #ffd4b7
mod.theme.color_map_7_f = #f6af78
mod.theme.color_map_7_g = #ffc79a
mod.theme.color_map_7_h = #dea778
mod.theme.color_map_8 = #f2b2ca
mod.theme.color_map_8_a = #ffc8e3
mod.theme.color_map_8_b = #e6a3c3
mod.theme.color_map_8_c = #fbb6d4
mod.theme.color_map_8_d = #d39bb1
mod.theme.color_map_8_e = #ffcfdf
mod.theme.color_map_8_f = #f0a9c1
mod.theme.color_map_8_g = #ffc0d2
mod.theme.color_map_8_h = #dca1b1
mod.theme.color_map_9 = #ffb5ae
mod.theme.color_map_9_a = #ffd1d1
mod.theme.color_map_9_b = #f6a5a4
mod.theme.color_map_9_c = #ffbebb
mod.theme.color_map_9_d = #df9e99
mod.theme.color_map_9_e = #ffd2cc
mod.theme.color_map_9_f = #fdada1
mod.theme.color_map_9_g = #ffc9bf
mod.theme.color_map_9_h = #e5a698
mod.theme.color_map_10 = #bbc7ff
mod.theme.color_map_10_a = #d0deff
mod.theme.color_map_10_b = #a8bbf7
mod.theme.color_map_10_c = #c1cfff
mod.theme.color_map_10_d = #a3aedf
mod.theme.color_map_10_e = #d5dcff
mod.theme.color_map_10_f = #b6bffd
mod.theme.color_map_10_g = #cfd4ff
mod.theme.color_map_10_h = #b0b2e5
mod.theme.color_map_11 = #cbd685
mod.theme.color_map_11_a = #e4e399
mod.theme.color_map_11_b = #c5c76c
mod.theme.color_map_11_c = #d6dc80
mod.theme.color_map_11_d = #b3bb74
mod.theme.color_map_11_e = #dae69e
mod.theme.color_map_11_f = #c0d179
mod.theme.color_map_11_g = #d1e68e
mod.theme.color_map_11_h = #b0c47f
mod.theme.color_map_kind_module = #315e96
mod.theme.color_map_kind_file = #566273
mod.theme.color_map_kind_struct = #286b5d
mod.theme.color_map_kind_enum = #4d702d
mod.theme.color_map_kind_trait = #70508f
mod.theme.color_map_kind_impl = #465f91
mod.theme.color_map_kind_fn = #79601f
mod.theme.color_map_kind_const = #865332
mod.theme.color_map_kind_type_alias = #326b7c
mod.theme.color_map_kind_macro = #8a4667
mod.theme.color_map_kind_component = #315e96
mod.theme.color_map_kind_thread = #79601f
mod.theme.color_map_kind_queue = #4d702d
mod.theme.color_map_kind_store = #865332
mod.theme.color_map_kind_memory = #70508f
mod.theme.color_map_kind_gpu = #326b7c
mod.theme.color_map_kind_io = #8a4667
mod.theme.color_success = #2f7d4b
mod.theme.color_map_basis_exact = #4c5968
mod.theme.color_map_basis_inferred = #7c5b27
mod.theme.color_map_basis_candidates = #72558c
mod.theme.color_syntax_keyword = #3d688a
mod.theme.color_syntax_ident = #242426
mod.theme.color_syntax_type = #36615a
mod.theme.color_syntax_fn = #504326
mod.theme.color_syntax_literal = #425f3e
mod.theme.color_syntax_string = #6e483b
mod.theme.color_syntax_comment = #4b5c47
mod.theme.color_syntax_macro = #674b6d
mod.theme.color_syntax_attribute = #755635
mod.theme.color_syntax_punctuation = #242426
mod.theme.color_syntax_keyword_branch = #674b6d
mod.theme.color_syntax_keyword_loop = #755635
mod.theme.color_syntax_constant = #6e483b
mod.theme.color_syntax_bg = #ffffff
true