about summary refs log tree commit diff stats
path: root/shell/sandbox.mu
Commit message (Collapse)AuthorAgeFilesLines
* rename grapheme to code-point-utf8Kartik K. Agaram2021-11-091-1/+1
| | | | | | Longer name, but it doesn't lie. We have no data structure right now for combining multiple code points. And it makes no sense for the notion of a grapheme to conflate its Unicode encoding.
* fix bad terminology: grapheme -> code pointKartik K. Agaram2021-08-291-4/+4
| | | | | | | | | | Unix text-mode terminals transparently support utf-8 these days, and so I treat utf-8 sequences (which I call graphemes in Mu) as fundamental. I then blindly carried over this state of affairs to bare-metal Mu, where it makes no sense. If you don't have a terminal handling font-rendering for you, fonts are most often indexed by code points and not utf-8 sequences.
* .Kartik K. Agaram2021-08-281-3/+2
|
* better error handling on stray commasKartik K. Agaram2021-08-011-0/+1
|
* shell: support loading 128x128px imagesKartik K. Agaram2021-07-281-1/+1
| | | | | | I'm loading them in uncompressed ASCII format, and all streams and gap buffers all over the place need to get massively scaled up to 256KB capacity. But the tests don't yet run out of RAM, so I'll keep going.
* clean up final abort in macroexpandKartik K. Agaram2021-06-301-0/+6
|
* one more bug, and documentation for infixKartik K. Agaram2021-06-231-3/+3
| | | | One error message gets a bit worse.
* .Kartik K. Agaram2021-06-211-66/+82
|
* preserve indentation of the sandboxKartik K. Agaram2021-06-201-2/+2
|
* start emitting indent tokensKartik K. Agaram2021-06-181-23/+35
|
* always print black pixels when rendering screensKartik K. Agaram2021-06-151-2/+0
| | | | This is an old 'optimization' that turns out to not actually matter.
* flickerlessly render fake screens in environmentKartik K. Agaram2021-06-151-33/+9
| | | | | | | | Font rendering now happens off the real screen, which provides the effect of double-buffering. Apps can now also use convert-graphemes-to-pixels for more traditional double-buffering.
* .Kartik K. Agaram2021-06-121-95/+55
| | | | | Roll back to commit 70919b45f0. Recent commits add lots of extra function args for dubious benefit.
* snapshotKartik K. Agaram2021-06-121-12/+41
| | | | Looks like what's slowing down screen rendering is in fact _font_ rendering.
* .Kartik K. Agaram2021-06-121-16/+14
|
* trying to eliminate flicker when rendering screenKartik K. Agaram2021-06-121-13/+26
| | | | | | | | | | | | | | | | | | | Two interesting things: - We don't really need double-buffering for rendering the screen on the sandbox as a progress indicator. Everything else is untouched, and render-screen should be doing that as well. - Rendering just pixels of the fake screen is buttery smooth. It's the _graphemes_ that are slowing things down. Even though there's so many fewer of them! As a result, drawing the fake screen less frequently in `evaluate` doesn't actually help with flicker. Even though it'll make the debug cycle shorter. So my current plan is to attack flicker in isolation before I mess with the render frequency. In this commit I optimized away the cursor handling. Still doesn't seem to be helping. In fact it actually seems _worse_.
* eliminate some implicit writes to real screenKartik K. Agaram2021-06-121-37/+37
|
* .Kartik K. Agaram2021-06-121-12/+12
| | | | | | Rename cells containing screens to screen vars because of the ambiguity that each grapheme in fake screens is represented by a type screen-cell. While we're at it, we also analogously rename keyboard vars.
* shell: larger fake screenKartik K. Agaram2021-06-121-3/+9
|
* .Kartik K. Agaram2021-06-111-1/+1
|
* .Kartik K. Agaram2021-06-111-1/+1
|
* .Kartik K. Agaram2021-06-111-41/+0
|
* .Kartik K. Agaram2021-06-111-3/+3
|
* .Kartik K. Agaram2021-06-111-21/+24
|
* .Kartik K. Agaram2021-06-111-1/+0
|
* .Kartik K. Agaram2021-06-111-12/+11
|
* .Kartik K. Agaram2021-06-091-36/+0
|
* .Kartik K. Agaram2021-06-091-6/+13
|
* .Kartik K. Agaram2021-06-091-1/+12
|
* .Kartik K. Agaram2021-06-091-3/+4
|
* .Kartik K. Agaram2021-06-091-2/+2
| | | | Add argument to a few functions.
* shell: function modal now also creates functionsKartik K. Agaram2021-06-081-1/+1
|
* .Kartik K. Agaram2021-06-081-46/+36
| | | | | | | I wrote a comment about how some code was not covered by tests, and then promptly forgot what it was for. This is why we need tests. Now the hack is gone.
* shell: support negative integer literalsKartik K. Agaram2021-06-061-0/+18
| | | | We still don't support _any_ fractional literals, positive or negative.
* more space for definitionsKartik K. Agaram2021-06-061-1/+1
|
* conditionally display cursor in sandboxKartik K. Agaram2021-06-041-34/+40
|
* .Kartik K. Agaram2021-06-041-2/+2
|
* .Kartik K. Agaram2021-06-041-0/+4
| | | | Menu shortcut for jumping to function definition.
* .Kartik K. Agaram2021-06-041-8/+8
|
* .Kartik K. Agaram2021-06-041-2/+2
| | | | Keep hotkeys stable when different elements are in focus.
* .Kartik K. Agaram2021-06-041-8/+7
|
* .Kartik K. Agaram2021-06-031-5/+8
|
* .Kartik K. Agaram2021-06-031-13/+11
|
* .Kartik K. Agaram2021-06-031-2/+2
|
* shell: more stable trace when rerunningKartik K. Agaram2021-06-021-1/+113
|
* .Kartik K. Agaram2021-05-311-28/+28
|
* shell: raise errors when loading code on bootKartik K. Agaram2021-05-301-3/+16
|
* bugfix: unbound variables were not raising errorKartik K. Agaram2021-05-301-3/+21
| | | | | Since we switched error trace semantics from a designated label to a designated depth (commit 9831a8cef9 on May 19).
* first test re-running sandbox with a deeper traceKartik K. Agaram2021-05-301-3/+74
|
* .Kartik K. Agaram2021-05-301-1/+47
|