Commit graph

479 commits

Author SHA1 Message Date
Admin
988c2d7a77 fix uid uniqueness 2026-02-12 07:21:50 +01:00
Admin
af7d507488 compile 2026-02-10 18:26:51 +01:00
Eddy Bruel
dc953df2c4 Clear layout cache in text input if turtle width changes. 2026-02-06 15:38:00 +01:00
Admin
79d2ba8595 finally smooth animation 2026-02-05 20:52:15 +01:00
Admin
24e61cfcf7 gc works 2026-02-04 08:54:47 +01:00
Julián Montes de Oca
ba57a32b31
Fix missing changes from IME on some platforms (#852) 2026-02-02 20:51:38 +01:00
Julián Montes de Oca
9e53e13d68
IME: Support on Android and Input Configuration (#839)
* WIP

* Improvements for cursor control

* Enhance text selection and key event handling for Samsung keyboard compatibility

* Default to multine inputtype in android

* WIP Input configurations

* Enhance iOS text input handling

* Cleanup

* Comment out 'Next' variant across platforms for future implementation.

* Rename IME Config API to match web APIs

* Fix Android emoji deletion by implementing UTF-16 code unit index conversion

* Proper ASCII-only input and improve iOS keyboard handling

* Replace 'is_numeric_only' with 'input_mode'

* Prevent pasting invalid characters

* Cleanup

* Cleanup

* Hide clipboard actions on text change

* Cleanup

* Unify keyboard event types and fix iOS text input regressions

Unified TextInputEvent with new fields for better IME support across platforms:
- Added `composition` field for IME preview ranges (CJKinput)
- Added `full_state_sync` for complete buffer state (Android approach)
- Added `replace_range` for autocorrect/suggestion replacements (iOS approach)

All platforms: Standardized on CharOffset for character position handling

* Prevent text synchronization with the platform during active composition

* Add UITextInputCurrentInputModeDidChangeNotification support

* Add underline for active IME composition in TextInput

* Improve editor action handling for multiline inputs on Android

* Enhance IME composition tracking and clipboard action handling in TextInput

* Simplify IME state handling on Android

* Cleanup IME handling on iOS

* Cleanup

* Cleanup IME handling on iOS

* Improve docs/comments

* Improve docs/comments

* Add floating cursor support for keyboard trackpad in iOS

* Refine IME handling in TextInput to prevent iOS buffer loss during composition updates

* Move UITextInput protocol implementation into its own module

* Move MakepadInputConnection into its own file

* Cleanup

* Improve general IME handling in TextInput. Improve docs and comments

* Refactor text input configuration to separate soft keyboard settings for mobile platforms.
2026-02-02 11:48:21 +01:00
Kevin Boos
ba3b02b77d
Expose whether a native LongPress has occurred before a FingerMove (#846)
This bit of info was already tracked, but it wasn't exposed by the
`FingerMoveEvent` struct.

Doing so will allow widgets to differentiate between a gesture like
long-press then drag (for drag-n-drop) vs. just a regular drag
(for something like finger-based scrolling).
This is useful in TextInput, Dock, and any view that may respond
differently to a drag vs a "select then drag".
2026-01-22 08:49:49 +01:00
Kevin Boos
2898fb1367
Hide the Tooltip widget upon any click/tap, drag, or scroll event (#844)
* Hide the `Tooltip` widget upon any click/tap, drag, or scroll event

* Tooltip: handle raw events directly as to not impact `Hit` consumption
2026-01-21 19:41:31 +01:00
Jason Yau
4355f29c4b
fixed IME composition popup position for Windows (#841)
Co-authored-by: jasonqiu <jasonqiuchen@outlook.com>
2026-01-17 17:57:36 +01:00
Admin
acdcfc7719 make it multichannel 2026-01-14 00:34:38 +01:00
Julián Montes de Oca
b966c2ab02
iOS: Add UITextInput protocol implementation for IME support (#838)
- MakepadTextInputView with marked text (composition) for CJK input
- UTF-16 ↔ char index conversion for emoji/Unicode handling
- TextRangeReplaceEvent for autocorrect/autocomplete
2026-01-12 14:10:44 +01:00
Julián Montes de Oca
5bc0b10b8a
Remove broken script handling fn calls from various platforms (#836) 2026-01-06 18:06:49 +01:00
Julián Montes de Oca
58c1768e4c
Add macOS AEC support via VoiceProcessingIO (#834) 2026-01-06 17:00:25 +01:00
Julián Montes de Oca
bcb3bfa1d3
Add clipboard actions support for iOS (#833)
Implemented UIEditMenuInteraction for clipboard actions, allowing copy, cut, paste, and select all functionalities.
2026-01-06 17:00:02 +01:00
Admin
1cfba392c1 fix up tests 2025-12-10 13:04:00 +01:00
Admin
02a1f03eb6 glsl, hlsl, metal first steps 2025-12-04 12:55:20 +01:00
Sabin Regmi
0d99fc0e3a
fix: correct identifier comparison in expect_specific_ident function (#823) 2025-12-02 18:42:47 +01:00
Julián Montes de Oca
fa88145586
Remove unused tempfile dep (#805) 2025-12-02 18:42:01 +01:00
Admin
7880546817 align mathtypes to WGSL 2025-12-02 11:43:12 +01:00
Admin
5f7ea80f4c platform2/draw2 otw 2025-11-30 14:56:53 +01:00
Admin
c538926b8e fix script logs 2025-11-22 14:24:17 +01:00
Julián Montes de Oca
619dec61c4
Android: Implement ShowClipboardActions with native ActionMode (#821)
Cx API:
- Implement existing ShowClipboardActions
- Add HideClipboardActions
- Cross-platform API ready for iOS implementation

Android Implementation:
- Native ActionMode integration with floating toolbar (API 23+)
- JNI bindings for showing/hiding menu and handling clipboard actions
- Event system for Copy/Cut/Paste/Select All actions
- Smart menu state management based on selection and clipboard

TextInput Integration:
- Long press selects word and shows menu
- Double tap and long press selects word and shows menu
- Selection preservation when tapping selected text
2025-11-22 10:06:05 +01:00
Julián Montes de Oca
67be5bcfb3
Fix button clicks during keyboard dismissal on mobile (#803)
* Fix button clicks during keyboard dismissal on mobile

When tapping a button while the keyboard is visible on iOS/Android, the keyboard dismisses and shifts the layout mid-press. This caused the event system to treat the finger as no longer "over" the button, preventing the click from registering.

Fixed by treating taps as "over" if the finger didn't move significantly, even if the widget moved underneath due to layout shifts.

* Make is_over conditionals clearer
2025-11-18 20:39:08 +01:00
Admin
14c0413a9b first shader typeinferencing 2025-11-18 07:43:55 +01:00
Kevin Boos
97983ad26f
Fix modal; enable widgets to block scrolling except within a certain area (#819)
* Fix modal event handling behavior

Everything now works as expected, *except* for Scroll events that seem to
still be received by views beneath the modal, e.g., an underlying PortalList.

* Enable widgets to block scrolling, except within a certain area

* This is important for Modals to prevent scrolling of background widgets
  whilst still allowing the inner `content` view to be scrolled.
* Modals are now forcibly full-screen (or rather, full-window)
  in order to properly ensure that scrolling-allowed areas
  always stay relevant, as the Modal can no longer be contained
  within a non-full-window parent widget/view.

* remove errant log statement
2025-11-13 08:45:36 +01:00
Eddy Bruel
e761b94852 Wrap walk metrics into struct 2025-11-10 16:20:51 +01:00
Admin
48d80e5ea0 add first step for pods 2025-11-09 21:18:17 +01:00
wyenox
3e6d4c951e
"app focus" events renamed to "window focus" (#818) 2025-11-07 22:59:54 +01:00
wyenox
e68263e2a2
fix window-level focus issues (#817) 2025-11-07 19:04:41 +01:00
Admin
8ed9e1fb93 fix 2025-11-05 13:48:58 +01:00
Admin
2a8d0ded8e cleanup tasks 2025-11-04 17:52:09 +01:00
Admin
fe78b82ab5 update comfyui to new channels 2025-11-04 15:52:23 +01:00
Admin
25efce79ec update comfyui to new channels 2025-11-04 15:45:59 +01:00
Admin
142f76972b first channels working 2025-11-04 15:04:22 +01:00
Admin
4e698ea384 first channels working 2025-11-04 14:59:04 +01:00
Eddy Bruel
7382169d98 Implement RowAlign::Baseline 2025-11-04 10:39:15 +01:00
Julián Montes de Oca
5edd4e9ae0
Fix x11 handle_script_signals call (#811) 2025-11-03 18:20:39 +01:00
Admin
8205c30521 cleanup 2025-11-03 14:49:43 +01:00
Admin
c731a43fe7 added script handles 2025-11-03 13:36:38 +01:00
Admin
b8494ae112 fix 2025-11-02 16:09:05 +01:00
Admin
76215572dc added stdlib fns 2025-11-02 10:50:35 +01:00
Admin
86a13523dd first splash script working! 2025-11-01 19:33:16 +01:00
Admin
938b86b11d child processes and random nr gen 2025-11-01 17:45:24 +01:00
Admin
28b7be3ff4 child processes and random nr gen 2025-11-01 17:40:30 +01:00
Admin
e7c8c3e3e3 add script timers 2025-11-01 12:56:54 +01:00
Admin
ceb68e3091 websockets 2025-10-31 17:23:17 +01:00
Admin
0ba6fa7f50 add fn syntax 2025-10-31 14:33:37 +01:00
Julián Montes de Oca
fc4b7a22b4
Fix network response handling in process_to_wasm function (#808) 2025-10-30 20:13:33 +01:00
Julián Montes de Oca
899128907e
Remove auto-deny logic for unimplemented permissions (#807) 2025-10-30 19:57:19 +01:00