Commit graph

2,140 commits

Author SHA1 Message Date
Admin
d758d6d95e fixing 2026-03-08 09:20:34 +01:00
Admin
c8412703b0 oops. uids 2026-03-08 08:42:49 +01:00
Jason Yau
5f3e13d3bc Add IME Support for Linux (X11) (#926)
* regenerate windows-rs to export ImmAssociateContext

* fix ime popup window still shown when TextInput has no focus

* fix ime popup window still shown when TextInput has no focus for macos

* fix ime himc state

* IME support for linux

---------

Co-authored-by: jasonqiu <jasonqiuchen@outlook.com>
2026-03-07 15:50:05 +01:00
Admin
8d73f700e6 exr 2026-03-07 15:01:34 +01:00
Admin
1cb8ce2347 fix 2026-03-07 11:54:59 +01:00
Admin
73035bcdd9 Harden widget tree refresh and require explicit widget uids 2026-03-07 11:23:22 +01:00
Kevin Boos
97bb42e439 TextInput: actually use color_empty_hover/focus in draw_text shader (#927) 2026-03-07 09:46:44 +01:00
Admin
614e214e9a fix ime runview 2026-03-07 02:07:44 +01:00
Admin
b30abb351e oops 2026-03-06 19:15:09 +01:00
Admin
8c5987039d fix shader compiler 2026-03-06 18:49:24 +01:00
Admin
0e1fe0b994 fix ime 2026-03-06 17:24:51 +01:00
Admin
2aad6a6aa9 drumroll 2026-03-06 17:21:17 +01:00
Admin
ed062cb224 fix shader compiler state clobber 2026-03-06 17:21:17 +01:00
Admin
2dd6c85753 almost sshader 2026-03-06 17:21:17 +01:00
Admin
ad658b40ad cleanup ds 2026-03-06 17:21:17 +01:00
Admin
bb331d0eb3 split f32 + uniformbuffers 2026-03-06 17:21:17 +01:00
Jason Yau
77709bb766 Fix: IME Popup Window Appears Without TextInput Focus (#924)
* regenerate windows-rs to export ImmAssociateContext

* fix ime popup window still shown when TextInput has no focus

* fix ime popup window still shown when TextInput has no focus for macos

---------

Co-authored-by: jasonqiu <jasonqiuchen@outlook.com>
2026-03-06 16:50:01 +01:00
Sabin Regmi
3905ae4d1c Load script resources per-handle (avoid global loads) (#923)
Replace broad cx.load_all_script_resources() calls with a targeted cx.load_script_resource(handle) to only request the specific resource needed. Refactor script resource loading (platform/src/script/res.rs) by extracting load_script_resource_impl(handle, crate_manifests) and exposing load_script_resource(handle); keep load_all_script_resources() by iterating per-handle. Improve wasm handling: resolve web_url per-resource, set explicit error states when missing, and fire async HTTP requests safely. Remove an early call to load_all_script_resources() from web startup. Additional changes: serve precompressed .br files in the local wasm dev server (with COOP/COEP headers when threaded), add wasm-specific font/theme script entries for widgets, and update various callers (draw shaders, widgets, math_view, gltf/view_splat, image) to use the per-handle loader. These changes reduce unnecessary global loads and limit network/file operations to only required resources.
2026-03-06 16:01:07 +01:00
offline-ant
abb71be0e0 selection: clipboard delegate, primary selection, mobile handles (#912)
* selection: clipboard delegate, primary selection, mobile UI, handles, accessibility

Level 0: Route clipboard through Makepad instead of arboard. Custom
ClipboardDelegate in havishell forwards set_text/get_text/clear through
Makepad's CopyToClipboard and pending paste state. Fix Wayland serial
constraint by queuing CopyToClipboard when no serial is available.

Level 1: Primary selection (Linux). Add CxOsOp::SetPrimarySelection,
Wayland zwp_primary_selection_device_manager_v1 protocol bindings, X11
PRIMARY atom handling. HAVI stores selection text in SharedDocumentSelection
and calls set_primary_selection on change.

Level 2: Mobile clipboard actions UI. Long-press selects word and shows
native clipboard toolbar. TextCopy/TextCut events return selection text.

Level 3: Selection handle API. Add CxOsOp Show/Update/HideSelectionHandles,
Event::SelectionHandleDrag, and HAVI integration for handle drag events.
Platform stubs for all backends.

Level 4: Accessibility plumbing. Add CxOsOp::AccessibilityUpdate with
type-erased Box<dyn Any + Send> payload. HAVI implements
notify_accessibility_tree_update to forward accesskit::TreeUpdate through
Makepad. Platform no-op stubs.

* wayland: handle primary selection data_offer child objects

---------

Co-authored-by: ant <ant@offline.click>
2026-03-06 12:17:25 +01:00
Sabin Regmi
78f8c52c90 Remove debug title update in redraw handler (#919)
Remove a leftover debug call that set the document title when handling ToWasmRedrawAll in platform/src/os/web/web.rs. This avoids an unnecessary DOM update used only for debugging and cleans up the redraw handler.
2026-03-06 12:16:24 +01:00
Sabin Regmi
a2d4cf68fe Consider Logo or Control primary on wasm32 (#921)
Add a wasm32-specific branch in KeyModifiers::is_primary so the primary modifier is treated as true when either `logo` or `control` is set on WebAssembly targets. This preserves expected web behavior where Meta/Command or Control can act as the primary key. Also tighten the non-Apple cfg to exclude wasm32 explicitly to avoid overlapping cfg matches.
2026-03-06 12:16:08 +01:00
Lutz
16c3bc1c33 fix: iOS app crashes on device rotation (#920) 2026-03-06 12:15:52 +01:00
Admin
4be806a7ae fix 2026-03-06 09:27:43 +01:00
Admin
3ed6de6cac fix 2026-03-06 09:26:02 +01:00
Admin
3d3e51fe26 mb3d test scene 2026-03-05 23:47:21 +01:00
Admin
12b4f4f53c m3d concluded 2026-03-05 23:45:21 +01:00
Admin
d057e9a46a optimisation adaptive ao 2026-03-05 23:45:21 +01:00
Admin
2895460208 baseline 2026-03-05 23:45:21 +01:00
Admin
1f2c52acad cleanup 2026-03-05 23:45:21 +01:00
Admin
2c3d091f2e parity! 2026-03-05 23:45:21 +01:00
Admin
8eede680b6 nearly there 2026-03-05 23:45:21 +01:00
Admin
1d4b873633 almost 2026-03-05 23:45:21 +01:00
Admin
ff01d0c07f shadows 2026-03-05 23:45:21 +01:00
Admin
3846b2ec35 base correct 2026-03-05 23:45:21 +01:00
Admin
e4b5334260 improving.. 2026-03-05 23:45:21 +01:00
Admin
8c7974e44f right direction 2026-03-05 23:45:21 +01:00
Admin
590e0f0ad8 mb3d experiment 2026-03-05 23:45:21 +01:00
Sabin Regmi
98f0c4cb2a Add --no-threads option and runtime thread checks (#918)
Introduce a single-threaded wasm build mode and add defensive runtime handling for missing wasm threading support.

- CLI: add --no-threads flag and WasmConfig.threads to control threaded vs single-threaded builds. Parse and strip wasm-specific options before forwarding build/run args.
- Build: select target features and RUSTFLAGS based on threading; omit atomics/bulk-memory features for single-threaded builds. Adjust generated server instructions to require COOP/COEP only for threaded builds.
- Dev server: conditionally include COOP/COEP headers when serving threaded wasm artifacts.
- JS runtime (platform/src/os/web/web.js): guard audio worklet startup and thread creation on wasm._has_thread_support; make alloc_thread_stack return null with clear console warnings when required exports or alignment are missing; pass allocated thread_info to workers.

These changes enable building and running a single-threaded wasm variant without COOP/COEP server requirements and improve runtime resilience when threading features are unavailable.
2026-03-05 20:53:20 +01:00
admin
3b15713f12 fix splitter fingerdown 2026-03-04 15:13:21 +01:00
admin
660a3cc5d0 tweakra 2026-03-04 15:00:52 +01:00
admin
27ec9f8b5f terminal error 2026-03-04 14:32:42 +01:00
Admin
bcce2305e3 vfs smoothness 2026-03-04 13:56:58 +01:00
Admin
e9d7dd65fe possible terminal glitch fix 2026-03-04 13:39:27 +01:00
Admin
8976538a43 fix path 2026-03-04 11:38:29 +01:00
Admin
74c9abad8f fix path 2026-03-04 11:36:01 +01:00
Admin
ff61c33284 dnd 2026-03-04 10:31:14 +01:00
Admin
7742b2def7 move draw svg with turtle 2026-03-04 10:25:19 +01:00
Admin
2e660f00dc widget tree refactor 2026-03-04 10:16:33 +01:00
Admin
6ecc045812 widget tree refactor 2026-03-04 09:52:17 +01:00
Admin
564772a5dc fix scrolling 2026-03-04 09:22:15 +01:00