Commit graph

244 commits

Author SHA1 Message Date
bunnie
3cec151ffd fix prediction order 2021-03-09 02:47:25 +08:00
bunnie
7f7f30f23d make shell predictions only on newlines, for now 2021-03-09 02:33:10 +08:00
bunnie
71e45c4bf8 refactor redraw to be on-demand
seems to make the performance much better
2021-03-09 02:32:36 +08:00
bunnie
7d1fb5a31b ellipsis support and fixing prediction redraw bugs 2021-03-09 02:24:45 +08:00
bunnie
a4a96c9c56 add ellpsis support to textview 2021-03-09 02:23:49 +08:00
bunnie
c9e82c427e fix a bunch of minor bugs 2021-03-08 05:12:26 +08:00
bunnie
5dc537df05 fold in the predictor 2021-03-08 04:28:17 +08:00
bunnie
d5d8e0ee86 TIL you can't return variable-length strings in an rkyv
rkyv does some optimization to not send all the data in
a string if you don't use it up.

xous assumes the same "pos" argument on the return type

thus a variable length string doesn't work as a return type
(you can send it, because you can specify a "pos" on the send
side).

fortunately, the application for the variable-length string
was getting predictions out of the predictor, and a short (31 element)
fixed-length array with a side companion of a len variable
should be more than sufficient for completion suggestions.
2021-03-08 04:25:58 +08:00
bunnie
8a8c1e6a66 foundations for predictive text display 2021-03-08 00:57:50 +08:00
bunnie
33df36f841 make input text preview area grow dynamically as text gets too long 2021-03-07 18:58:48 +08:00
bunnie
f495b40fd8 insertion/deletion of text with back/forward buttons working now 2021-03-07 03:43:46 +08:00
bunnie
49d6018e5e new feature: backspace (*gasp* iknowrite?)
harder than it looks with utf8 and variable-width characters
2021-03-06 19:37:22 +08:00
bunnie
547dbbfe6b fix carriage return emulation and handling 2021-03-06 03:26:13 +08:00
bunnie
cb0686803e split out the background clear/redraw from the core loop 2021-03-06 02:45:47 +08:00
bunnie
00ada3ac3c clean up a debug message 2021-03-06 01:12:24 +08:00
bunnie
0cc1f9f5fb it doesn't look that impressive, but there's a lot of plumbing now. 2021-03-06 01:10:18 +08:00
bunnie
5d1fba4015 fix intersects algorithm
"duh"
2021-03-05 17:15:14 +08:00
bunnie
470abb3e7d fix rectangle intersection missing case 2021-03-05 00:56:22 +08:00
bunnie
5ea2a21d2d tighten up APIs, implement a very 0th-order input loop
this is where the debugging begins of the beginning of
the API. it's like finally finding the start of a roll
of clear tape.
2021-03-04 19:02:56 +08:00
bunnie
fff7c024ad prep to migrate API in git 2021-03-04 18:13:50 +08:00
bunnie
aa8c0e5792 a bit more deck shuffling on the APIs
feels a lot cleaner now.
2021-03-04 16:02:42 +08:00
bunnie
76684c89fc refactor the traits to have a default implementation
probably should be the *only* implementation because these are
only concerned with IPC calls that really require changes in
two separate crates, but I feel unconfident enough about the API
that for now I want the flexibility to experiment with non-default
APIs until I'm ready to freeze things.
2021-03-04 04:48:22 +08:00
bunnie
f565fdaf6f refactor API into a separate crate with traits 2021-03-04 04:33:20 +08:00
bunnie
92ca22c38c refactor IME plugin API into a common crate
This will allow other APIs to just include the API crate
to define all the gazintas and gozoutas.
2021-03-04 03:14:26 +08:00
bunnie
2b768e9b86 fix warnings in initial API 2021-03-03 23:27:30 +08:00
bunnie
e62256b3df clean up hosted mode warnings 2021-03-03 22:50:46 +08:00
bunnie
313f12acbb clean up warnings 2021-03-03 22:38:20 +08:00
bunnie
50b521266f Merge remote-tracking branch 'origin/hardware' into hardware 2021-03-03 22:09:57 +08:00
bunnie
b04e57f5a4 prepare for a merg 2021-03-03 22:09:45 +08:00
Sean Cross
0c6cb9135e services: add kernel-test
This was used to demonstrate the message passing bug.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:22:26 +08:00
bunnie
8f809c2a51 start layering in the IME front end and prediction APIs 2021-03-03 14:53:33 +08:00
bunnie
9804290854 add some primers to the status loop
this helps the screen-up time appear faster, so we aren't
waiting for a full poll interval for new data to appear before
the system apears to be powered on
2021-03-02 21:57:52 +08:00
bunnie
9a2bce24cb clean up timing and cosmetic issues on status updates 2021-03-02 21:47:23 +08:00
bunnie
4b0f50293f another intermediate commit 2021-03-02 21:15:40 +08:00
bunnie
96a19baa8d state before refactor of status to own process 2021-03-02 19:25:41 +08:00
bunnie
d1609d2a31 another commit checkpoint. somehow, i have a race condition now. 2021-03-01 15:08:08 +08:00
bunnie
70aa5b792b check in for inspection 2021-03-01 14:40:39 +08:00
bunnie
93a7567618 ticktimer prints its PID now 2021-03-01 13:46:02 +08:00
bunnie
4640dc404f make panic messages a bit more helpful 2021-03-01 13:45:36 +08:00
bunnie
5917ff4664 add object drawing to the GAM abstraction layer 2021-03-01 04:01:33 +08:00
bunnie
ce59bea2fa add function to extract canvas dimensions from GAM
gfx_conn should be exclusive from GAM to gfx_conn, so
need to refactor out all the errant calls that are
scattered about.
2021-03-01 02:33:13 +08:00
bunnie
bee1f796ee add rounded rectangle drawing 2021-03-01 01:49:22 +08:00
bunnie
1ee538cda8 clean up test hanzi characters now that we have the planes built in 2021-02-27 15:53:31 +08:00
bunnie
0c20f1dac1 add a test character for hanzi plane 2021-02-27 15:53:10 +08:00
bunnie
2795dc4d8a creepy Heapless bug cropping up again...this time u32s aren't being stored right 2021-02-27 15:52:40 +08:00
bunnie
838fa25bad get rid of the awful dummy arg hack and use #used directive to keep font maps in loader 2021-02-27 14:52:21 +08:00
bunnie
d7e1959fed disintegrated fonts working 2021-02-27 14:35:53 +08:00
bunnie
0dc40f4185 attempt to separate fontmaps and loader out of kernel 2021-02-27 02:12:19 +08:00
bunnie
463e2ad77d fixup GAM APIs to latest rkyv standard, fix drawable computation 2021-02-26 03:37:48 +08:00
bunnie
5b80b3fb42 get fcc-agent working again 2021-02-23 04:01:01 +08:00