Commit graph

715 commits

Author SHA1 Message Date
Admin
928521e994 mipmapping 2026-03-09 09:18:33 +01:00
offline-ant
7c7d91b8ad
platform: video/camera subsystem with media plugin architecture (#929)
Video playback: extended API with volume, playback rate, seek ranges,
buffered ranges, can_play_type, audio-only mode. Unified player wrapping
native backend (AVPlayer/GStreamer/MediaFoundation) with software fallback.
YUV shader pipeline (BT.601/709/2020, NV12 biplanar, rotation).

Camera: V4L2 backend (Linux), expanded NDK Camera2 (Android), AVCapture
stream refactor (iOS/macOS) with shared session architecture. NV12
zero-copy paths on iOS (CVMetalTextureCache) and Android (AImage planes).
Camera preview modes (texture/native/auto).

Video encoding: H264 hardware encode on Apple (VideoToolbox) and Android
(MediaCodec). Camera-to-encoder pipeline with pixel buffer passthrough.

Media plugin system: externalized codec implementation via MediaPlugin
trait. MsePlayer, VideoFrameDecoder, MediaVideoEncoder, SoftwareVideoPlayer
interfaces. Runtime codec capability query and merge.

Includes camera example app.

Co-authored-by: ant <ant@offline.click>
2026-03-08 13:10:58 +01:00
Admin
3d7852d0b3 remove dep 2026-03-08 11:43:23 +01:00
Admin
a1a9c38004 fix physics stability 2026-03-08 10:44:56 +01:00
Admin
24a9b0627d remove apprs 2026-03-08 10:28:40 +01:00
Admin
923a554e49 fixing 2026-03-08 09:20:34 +01:00
Admin
b64a83fa15 oops. uids 2026-03-08 08:42:49 +01:00
Admin
9124a025af exr 2026-03-07 15:01:34 +01:00
Admin
df1b267569 fix ime runview 2026-03-07 02:07:44 +01:00
Admin
42a45913d6 drumroll 2026-03-06 17:21:17 +01:00
Admin
9a8020fec0 almost sshader 2026-03-06 17:21:17 +01:00
Admin
7a3cc93921 cleanup ds 2026-03-06 17:21:17 +01:00
Admin
0846e575b0 split f32 + uniformbuffers 2026-03-06 17:21:17 +01:00
Jason Yau
06fb9ee8eb
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
offline-ant
d19f99d1ef
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
Admin
d5f198d126 fix 2026-03-06 09:26:02 +01:00
Admin
83c628eaa8 mb3d test scene 2026-03-05 23:47:21 +01:00
Admin
08cc3f44af m3d concluded 2026-03-05 23:45:21 +01:00
Admin
9e1d37d6ef optimisation adaptive ao 2026-03-05 23:45:21 +01:00
Admin
6c465092da baseline 2026-03-05 23:45:21 +01:00
Admin
1924bc2f6b cleanup 2026-03-05 23:45:21 +01:00
Admin
dbf82942c6 vfs smoothness 2026-03-04 13:56:58 +01:00
Admin
5a89cc27f1 possible terminal glitch fix 2026-03-04 13:39:27 +01:00
Admin
4a87f4ca31 fix scrolling 2026-03-04 09:16:48 +01:00
Admin
9ea5dc9471 fix scrolling 2026-03-04 09:14:45 +01:00
Admin
f9e68f8650 fix: revert is_repeat check, fix batched TextInput newlines
Made-with: Cursor
2026-03-04 08:18:41 +01:00
Admin
051f48de84 terminal window resizing stable 2026-03-04 00:25:32 +01:00
Admin
2d0d853ffe terminal fidgetting 2026-03-03 22:43:41 +01:00
Admin
704d2a7a5f terminal fidgetting 2026-03-03 22:39:28 +01:00
Admin
96c3992c94 fixup terminal height glitching 2026-03-03 21:05:00 +01:00
Admin
c0125ba11d widget tree fixup 2026-03-03 20:19:06 +01:00
Admin
cb92b61b66 terminal otw 2026-03-03 17:47:24 +01:00
Admin
eeec57f459 terminal wrangling 2026-03-03 13:22:06 +01:00
Admin
98547946dd terminal wrangling 2026-03-03 13:21:53 +01:00
Admin
0f3864a44a rename network 2026-03-03 09:18:19 +01:00
Admin
e64e606caf add studio proto 2026-03-02 12:46:52 +01:00
Admin
5b27043eed fix paste in terminal 2026-03-02 12:18:26 +01:00
Admin
524ac9186d cleanup 2026-03-01 23:15:39 +01:00
Admin
6c17b5aac8 fixup studio backend 2026-03-01 21:12:24 +01:00
Admin
53971390b2 logs 2026-03-01 11:23:04 +01:00
Admin
c47697bc2e logs 2026-03-01 10:47:46 +01:00
Admin
f844171542 logs 2026-03-01 10:43:26 +01:00
Admin
01a4985e86 backend proto splitoff 2026-03-01 10:12:00 +01:00
Admin
084c3df5bc better vfs threading 2026-02-28 22:29:48 +01:00
Admin
0bffb98f28 studio2 otw 2026-02-28 21:27:26 +01:00
offline-ant
d544b7335b
ios: use CVPixelBuffer-first GL/Metal bridge path (#904)
Co-authored-by: ant <ant@offline.click>
2026-02-28 11:17:48 +01:00
Julián Montes de Oca
ecb5e7ffae
Video Widget: Support on More Platforms (#867)
* Add support for Video widget on WASM

* Add support for Video widget on Linux

* Linux video:  GStreamer appsink pipeline, GL texture upload, accurate seeking

* Add support for Video widget on Windows

* Harden cross-platform video playback and error handling

* Cleanup video playback logs

* Restore wasm builds

* Restore linux builds

* Restore linux builds

* Remove unused import
2026-02-27 18:52:49 +01:00
offline-ant
fdc918a890
iOS: GL render bridge (EAGL+IOSurface) and ios build command (#894)
* iOS: add GL render bridge (EAGL+IOSurface), fix linking, fix warnings

- Add EaglRenderBridge for iOS (GLES 3.0 context sharing textures with
  Metal via IOSurface), mirroring macOS CglRenderBridge
- Add iOS GlRenderBridge inner field and Cx methods
  (create_gl_render_bridge, create_gl_render_bridge_texture, restore_gl_context)
- Widen IOSurface support from macos-only to macos/ios/tvos in apple_sys
  and metal.rs (CxOsTexture fields, update_shared_texture, etc.)
- Expose metal_device() accessor on IosApp
- Replace removed SSLSetEnableCertVerify with SSLSetSessionOption
  (kSSLSessionOptionBreakOnServerAuth) to fix iOS linker error
- Remove unused apple_util::* imports in ios.rs and ios_app.rs
- Fix iOS deployment target from 26.0 to 17.0 in cargo_makepad

* cargo-makepad: add apple ios build command, expose IosBuildResult fields

---------

Co-authored-by: ant <ant@offline.click>
2026-02-27 08:40:41 +01:00
Admin
8ac86f0666 fix up voice build on non tahoe 2026-02-26 15:22:40 +01:00
Admin
33eeb0d244 little glitches in script engine 2026-02-24 23:32:56 +01:00