Commit Graph

258 Commits

Author SHA1 Message Date
galister 3daee83838 edit overlay progress 2025-11-14 17:59:17 +09:00
Aleksander 830be58c7a style: add `display="none"` 2025-11-13 20:54:19 +01:00
Aleksander 4d4292255a rename to `timestep_alpha` 2025-11-13 20:23:27 +01:00
galister 595324814a opacity & additive & curvature works 2025-11-13 15:40:08 +09:00
Aleksander 6e11c2cf87 themes cleanup, ui improvements 2025-11-12 17:49:05 +01:00
Aleksander 6136a5aa43 clippy 2025-11-12 17:06:53 +01:00
galister adb093b725 snappy sliders 2025-11-13 00:34:38 +09:00
galister d26ddd66bd edit overlay design 2025-11-12 23:27:26 +09:00
galister 6b5b95bd88 refactor rendering interface, working edit overlay 2025-11-12 20:41:19 +09:00
Aleksander afc8804aba config: Add `invert_scroll_direction` and `scroll_speed` 2025-11-11 12:11:34 +01:00
Aleksander a59a4c2870 text_renderer: clear VkImage before growing, implement island padding in texture atlas (fix graphical artifacts) 2025-11-08 12:08:48 +01:00
Aleksander 71898056f3 add `WguiFontSystem`, remove `FONT_SYSTEM` singleton, custom fonts, add `Light` font weight
there are a few gzip-compressed ttf as for now, looks like variable fonts aren't parsed properly by cosmic_text. Not sure why. Also, we probably need to have a fallback for CJK characters in the future, or just fallback to the built-in ones in the OS.
2025-11-07 22:21:57 +01:00
Aleksander 433b7f53b5 remember checked settings in memory 2025-11-06 21:12:26 +01:00
Aleksander e087eb3743 settings gui PoC 2025-11-05 22:37:07 +01:00
galister 81d2672740 fix internal events blocking custom events on the same widget 2025-10-31 19:10:13 +09:00
galister 44b9a79849 more clippy 2025-10-31 17:48:54 +09:00
galister 67017a9f54 clippy 2025-10-31 17:33:38 +09:00
galister fa562f7b12 panel: per-element interactibility 2025-10-31 17:32:10 +09:00
galister 01d11e8485 events with user data to also trigger internal listeners + toast fix 2025-10-29 19:56:58 +09:00
Aleksander bf1d02ed00 Tooltips, minor changes 2025-10-18 22:38:39 +02:00
galister 90eed4558f events refactor 2025-10-12 17:30:30 +09:00
Aleksander fbe1d5b09e tooltips PoC 2025-10-11 13:31:00 +02:00
Aleksander 200d5223d3 `ConstructEssentials`
i'm really out of ideas how to name another struct name with function parameters. Well, here we go - essentials.
2025-10-11 11:26:25 +02:00
Aleksander ce8cd3bce7 wgui: `WguiWindow`, open/close 2025-10-06 19:09:34 +02:00
Aleksander efcc41de19 wgui: event results/blocking for overlapping content, rev iterate events for root node 2025-10-05 20:11:49 +02:00
Aleksander 89c083991f wgui: pretty-print tree 2025-10-05 17:23:27 +02:00
Aleksander 5efbdce8f0 wgui: layout: fix `resize_to_parent` 2025-10-05 13:51:32 +02:00
Aleksander 3dff9c5882 wgui: Separate user and wgui assets, topmost widgets (poc) 2025-10-05 13:48:58 +02:00
galister 71d7d50e35 fix build 2025-10-05 19:38:29 +09:00
Aleksander 40cc27f7b0 wgui: Smooth scrolling, TransformStack: fix scrollable area boundaries (mouse wheel), separate into raw_dim and visual_dim, refactoring 2025-10-04 18:40:44 +02:00
galister 231850cf73 OverlayContainer to use HopSlotMap 2025-10-03 12:52:29 +09:00
Aleksander a1edc2f0b8 scissor stack fixes, proper render & event transformations 2025-09-29 22:04:16 +02:00
galister 90bdf99e32 text shadow + battery display poc 2025-09-29 17:43:16 +09:00
galister a78ae55bdc attribs rework 2025-09-29 14:50:13 +09:00
galister 8c41eaa048 flag UPDATE_AFTER_BIND descriptor sets to fix validation 2025-09-28 23:00:29 +09:00
galister 0d251e9351 update deps 2025-09-28 20:16:45 +09:00
Aleksander b5a3ba2954 dash-frontend: Application list 2025-09-28 13:13:37 +02:00
Aleksander eb12a6a319 overflow: hidden/scroll scissor support, remove depth 2025-09-25 23:21:11 +02:00
Aleksander 8f75d451e4 working scissor proof of concept 2025-09-24 21:53:43 +02:00
Aleksander 8d41d8bbd1 scissor attempt 2025-09-23 17:43:19 +02:00
Aleksander 5e6852e5d0 wgui: parser: normalize paths in <include>s, (fix rust-embed file not found in release build) 2025-09-22 14:31:49 +02:00
Aleksander 4afdde1793 UI tweaks, use B8G8R8A8_UNORM in wgui 2025-09-21 20:25:57 +02:00
Aleksander 858c5da21c uidev: make window translucent 2025-09-21 19:06:09 +02:00
Aleksander 7a97e9dee2 wgui: prevent data copy, parser data 2025-09-21 13:39:14 +02:00
Aleksander 4f71dc6097 dash-frontend: tab titles, home screen username 2025-09-20 16:54:16 +02:00
Aleksander 1358af75e3 update all cargo crates to the newest version, unify crate versions 2025-09-20 15:28:48 +02:00
Aleksander aadf11590e wgui: use dark mode 2025-09-20 13:32:07 +02:00
Aleksander 0f82fb4144 wgui: make hover effects more responsive (remove fade-in duration, use cubic interpolation) 2025-09-20 13:10:18 +02:00
Aleksander b9e5541971 📦📎-fixes, typo fixes 2025-09-20 12:17:17 +02:00
galister cfb733de09 sorry about monster commit 2025-09-20 15:28:42 +09:00
Aleksander c6a32f4109 ParserState: add `fetch_component_by_widget_id` 2025-09-18 17:01:30 +02:00
Aleksander 7004e11aa3 wgui: attrib pairs 2025-09-17 13:16:45 +02:00
Aleksander dfec935388 wgui: component callbacks refactoring 2025-09-16 20:35:28 +02:00
Aleksander 0fdc0e3828 dash-frontend: clock, wgui: refactoring, non-panicking casts 2025-09-16 20:09:13 +02:00
Aleksander 129785daa7 wgui: customizable defaults 2025-09-16 18:32:56 +02:00
Aleksander 54767d75da dash-frontend: tabs, other fixes (desc)
- set rustfmt line width to 120 columns by default for wgui
- dashboard tabs
- wgui: `remove_children`
2025-09-15 20:37:55 +02:00
Aleksander f115d2d2cf Button: `hover_color`, `hover_border_color` 2025-09-13 13:09:33 +02:00
Aleksander 9efe298f65 dash-frontend: Use native <Button>s, children support 2025-09-13 12:49:36 +02:00
Aleksander 14de2dd0b2 Update documentation 2025-08-17 22:00:19 +02:00
Aleksander cf0dd55a0f wgui: make component names PascalCase 2025-08-17 21:03:17 +02:00
Aleksander d54f74ed3c wgui: custom attribs 2025-08-16 22:55:40 +02:00
Aleksander 481db7f23c refactor: pedantic cargo clippy, do not use Results for always-succeeding functions 2025-08-16 21:27:47 +02:00
Aleksander 1f8960033c wgui: parser: `ParseDocumentParams` struct 2025-08-16 20:15:51 +02:00
Aleksander df35dba24f wgui: checkbox component 2025-08-13 19:42:48 +02:00
Aleksander faec8866c5 wgui: button: pressed state visual feedback 2025-08-13 17:32:40 +02:00
Aleksander a79ed0839b wgui: components base, anyhow event listener callbacks, 📦📎-fixes, typo fixes 2025-08-13 17:10:00 +02:00
Aleksander 93a3fee349 wgui: interactable components, rename `TextLabel` -> `WidgetLabel` 2025-08-10 11:46:01 +02:00
Aleksander 91e584383f wgui: components refactoring, id handles 2025-08-09 13:23:49 +02:00
Aleksander 17b4eaa1e4 wgui: i18n: use fallback 2025-08-03 12:03:23 +02:00
galister b2902f8f7f parser: ignore_in_mode attribute; watch additions 2025-08-03 17:26:34 +09:00
Aleksander eaa81450b5 wgui: basic i18n support, refactoring: use `LayoutState`, translation framework (LLM-based generator) 2025-08-02 23:31:23 +02:00
Aleksander 4e46c45bcf wgui: Refactoring, various changes (see desc)
- use parking_lot for mutex (less restrictive and easier to use)
- simplify event callbacks and widget type casting
- defer component initialization at start (required for setting the initial state of sliders)
- fix non-working scroll events
- update testbed.xml
- replace slider with the real one in bar.xml
- show slider text on its handle
2025-07-29 22:12:01 +02:00
Aleksander 77421b4e82 slider events and value setting 2025-07-07 21:58:41 +02:00
Aleksander 857c5ec865 listener handles, auto-clean destroyed listeners, minor refactor 2025-07-06 20:53:40 +02:00
Aleksander 92444bb5c4 simplify and optimize event states, deduplication 2025-07-02 22:55:42 +02:00
Aleksander 283d7fd64e separate CallbackData and CallbackDataCommon, refactoring 2025-07-02 22:06:19 +02:00
Aleksander 9bbc7b2d22 slider animations, ui tweaks 2025-06-28 23:11:37 +02:00
Aleksander 9d0c0f015c sliders (wip), fix wlx build 2025-06-28 19:28:05 +02:00
Aleksander 28d58fef59 implement listeners for Button component back 2025-06-28 18:30:38 +02:00
Aleksander 2420e8007c parser refactoring 2025-06-28 17:39:53 +02:00
galister 247c51c3b7 sprite colors 2025-06-28 19:28:28 +09:00
galister afb4919970 refactor events; watch prep work 2025-06-27 04:16:24 +09:00
galister 1215a50324 fix scaling, refactors 2025-06-26 04:22:40 +09:00
galister fc294e6f9a SharedAtlas is not pub 2025-06-25 21:29:33 +09:00
galister f9475248d3 wgui: widget_node_map to use more performant SecondaryMap 2025-06-25 21:13:16 +09:00
galister 158562031f wgui: introduce SharedContext to share between Contexts 2025-06-25 21:06:05 +09:00
galister cd05818465 widget event handling into macro 2025-06-21 21:13:33 +09:00
galister 9759dff8b9 move uidev to workspace root 2025-06-21 17:39:28 +09:00
Aleksander a2a7c71c22 Animated transforms on hover 2025-06-20 13:06:04 +02:00
galister df320a5c7b less refcells; haptics 2025-06-20 17:47:39 +09:00
Aleksander 887a2f6bde wgui: add <macro> support, propagate variables into ParserResult 2025-06-20 00:27:25 +02:00
galister d9b3b99e0d keyboard works 2025-06-20 05:31:37 +09:00
galister 6a77b302c9 measure root node of layout 2025-06-20 01:19:28 +09:00
galister 44a9faac14 keyboard progress & refactors 2025-06-20 00:48:37 +09:00
Aleksander 7d7ab8055d fix keyboard layout 2025-06-18 23:28:03 +02:00
Aleksander 09ea4f3096 wgui: parser: template injection support 2025-06-18 21:30:32 +02:00
Aleksander b9e462f88b wgui: move parser.rs into a separate directory 2025-06-18 20:07:13 +02:00
Aleksander 021f98973d wgui: ParserResult struct 2025-06-18 19:57:36 +02:00
Aleksander de5daf4b90 wgui: update xmls 2025-06-18 19:31:30 +02:00
Aleksander e09783791f wgui: fully working templates! 2025-06-18 19:08:46 +02:00
galister a14c22568c clippy 2025-06-18 19:42:05 +09:00
galister 66ac622136 bar + watch 2025-06-18 19:03:21 +09:00
Aleksander 231b8bc3e1 wgui: use ouroboros self-ref struct 2025-06-17 22:54:21 +02:00
Aleksander 8c4eb4bd49 wgui: Parser: <template> initial support (wip) 2025-06-17 22:06:17 +02:00
galister 9c1bd5b4f2 wgui: reuse WGfxPass on text & rect renderers 2025-06-18 04:18:07 +09:00
galister 1b7f9c8843 reusing passes needs SimultaneousUse 2025-06-18 03:14:21 +09:00
galister 76288f73c5 reuse wgfxpass on wayvr+screen 2025-06-18 03:04:51 +09:00
galister f05d3a8251 new workspace 2025-06-18 01:14:04 +09:00