Commit graph

530 commits

Author SHA1 Message Date
Admin
8e6702c56b First 2.0 2026-02-12 14:52:33 +01:00
Admin
e4e3d4c266 fix uid uniqueness 2026-02-12 07:21:50 +01:00
Admin
a271bd0027 compile 2026-02-10 18:26:51 +01:00
Eddy Bruel
986eb8218f Clear layout cache in text input if turtle width changes. 2026-02-06 15:38:00 +01:00
Admin
5982f35bb7 finally smooth animation 2026-02-05 20:52:15 +01:00
Admin
a5f5712b82 gc works 2026-02-04 08:54:47 +01:00
Julián Montes de Oca
1fd01bc818 Fix missing changes from IME on some platforms (#852) 2026-02-02 20:51:38 +01:00
Julián Montes de Oca
0dd31cb6c8 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
36c88b79d3 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
a850b416bd 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
01c48991b7 fixed IME composition popup position for Windows (#841)
Co-authored-by: jasonqiu <jasonqiuchen@outlook.com>
2026-01-17 17:57:36 +01:00
Admin
7a7fb705bf make it multichannel 2026-01-14 00:34:38 +01:00
Julián Montes de Oca
900bc6276b 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
02632c7d2b Remove broken script handling fn calls from various platforms (#836) 2026-01-06 18:06:49 +01:00
Julián Montes de Oca
0e9026183d Add macOS AEC support via VoiceProcessingIO (#834) 2026-01-06 17:00:25 +01:00
Julián Montes de Oca
e07406460d 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
902453e5ad fix up tests 2025-12-10 13:04:00 +01:00
Admin
f4abaa860f glsl, hlsl, metal first steps 2025-12-04 12:55:20 +01:00
Sabin Regmi
9623ff0a92 fix: correct identifier comparison in expect_specific_ident function (#823) 2025-12-02 18:42:47 +01:00
Julián Montes de Oca
e09086a1d8 Remove unused tempfile dep (#805) 2025-12-02 18:42:01 +01:00
Admin
0a1e93a89e align mathtypes to WGSL 2025-12-02 11:43:12 +01:00
Admin
520ef9486f platform2/draw2 otw 2025-11-30 14:56:53 +01:00
Admin
4209d7409b fix script logs 2025-11-22 14:24:17 +01:00
Julián Montes de Oca
7ff2574dfc 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
8a3be4b23b 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
6a5b52217e first shader typeinferencing 2025-11-18 07:43:55 +01:00
Kevin Boos
7bbb42a1b3 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
ecc9f811ee Wrap walk metrics into struct 2025-11-10 16:20:51 +01:00
Admin
a0e4ae49a2 add first step for pods 2025-11-09 21:18:17 +01:00
wyenox
ba66ff9359 "app focus" events renamed to "window focus" (#818) 2025-11-07 22:59:54 +01:00
wyenox
267fdcb371 fix window-level focus issues (#817) 2025-11-07 19:04:41 +01:00
Admin
0c6f0f7d66 fix 2025-11-05 13:48:58 +01:00
Admin
19ac38e6dd cleanup tasks 2025-11-04 17:52:09 +01:00
Admin
4c3828cbf2 update comfyui to new channels 2025-11-04 15:52:23 +01:00
Admin
c90f3992d6 update comfyui to new channels 2025-11-04 15:45:59 +01:00
Admin
d6f3ae9786 first channels working 2025-11-04 15:04:22 +01:00
Admin
5540f702b9 first channels working 2025-11-04 14:59:04 +01:00
Eddy Bruel
c6210b2ff5 Implement RowAlign::Baseline 2025-11-04 10:39:15 +01:00
Julián Montes de Oca
18df23df64 Fix x11 handle_script_signals call (#811) 2025-11-03 18:20:39 +01:00
Admin
7e6cfe0b11 cleanup 2025-11-03 14:49:43 +01:00
Admin
dc44453f58 added script handles 2025-11-03 13:36:38 +01:00
Admin
9c5b2df148 fix 2025-11-02 16:09:05 +01:00
Admin
2c666dcbbc added stdlib fns 2025-11-02 10:50:35 +01:00
Admin
5811e8bcef first splash script working! 2025-11-01 19:33:16 +01:00
Admin
5aa29ed2bf child processes and random nr gen 2025-11-01 17:45:24 +01:00
Admin
b8d0e8e029 child processes and random nr gen 2025-11-01 17:40:30 +01:00
Admin
83432a34dd add script timers 2025-11-01 12:56:54 +01:00
Admin
991879e058 websockets 2025-10-31 17:23:17 +01:00
Admin
fa9d44e2cc add fn syntax 2025-10-31 14:33:37 +01:00
Julián Montes de Oca
4129578499 Fix network response handling in process_to_wasm function (#808) 2025-10-30 20:13:33 +01:00