A simple, high performance text editor.
- Gioui primitives: pointer.InputOp, key.InputOp, key.FocusOp, SoftKeyboardOp - Op/Event flow: Logic computes elements, Renderer submits ops, Main batches events - Coordinate mapping: UI space → text space → byte space, with hit-region tags - Gesture state machine: tap, double-tap, long-press, drag-select, scroll - Gesture disambiguation: timing thresholds (500ms long-press, 300ms double-tap, 16DP drag) - Selection logic: selection_start/selection_end byte offsets - Input batching: Main accumulates events, sends batch to Logic per frame - Keyboard interaction: focus acquisition/loss, key event table, IME composition - Scroll momentum: fling logic with exponential decay, scroll clamping Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> |
||
|---|---|---|
| cmd/pad | ||
| doc | ||
| internal/ui | ||
| go.mod | ||
| go.sum | ||