about summary refs log tree commit diff stats
path: root/070display.cc
Commit message (Collapse)AuthorAgeFilesLines
* 2095Kartik K. Agaram2015-08-281-1/+0
| | | | | | | | | | | | Finally terminate the experiment of keeping debug prints around. I'm also going to give up on maintaining counts. What we really need is two kinds of tracing: a) For tests, just the domain-specific facts, organized by labels. b) For debugging, just transient dumps to stdout. b) only works if stdout is clean by default. Hmm, I think this means 'stash' should be the transient kind of trace.
* 2079Kartik K. Agaram2015-08-261-13/+0
| | | | Cleanup 2078.
* 2078 - update entire screen on tb_present()Kartik K. Agaram2015-08-261-0/+9
| | | | | | | | | | | | | | | | | | | Termbox had been taking shortcuts when it thinks the screen hasn't changed, which doesn't work if some other process messes up the screen. The Go version has a Sync method in addition to Flush/tb_present for precisely this eventuality. But it feels like an unnecessary optimization given C's general speed. Just drop it altogether. --- This took me a long time to track down, and interestingly I found myself writing a new tracing primitive before I remembered how to selectively trace just certain layers during manual tests. I'm scared of generating traces not because of performance but because of the visual noise. Be aware of this. I'm going to clean up $log now. Maybe I should also stop using $print..
* 2042Kartik K. Agaram2015-08-201-0/+7
| | | | | | Mouse clicks towards the right of very wide windows weren't working. Turns out to be a limitation of the X10 protocol: https://github.com/nsf/termbox-go/issues/32
* 1981 - clear screen below editors in CKartik K. Agaram2015-08-121-0/+23
| | | | | Environment much more responsive now. And it doesn't slow down as much just because I'm on a larger screen.
* 1963 - redraw if window size changesKartik K. Agaram2015-08-091-3/+9
| | | | | This was important because somebody connecting on tmux would mess up the environment.
* 1848 - core instructions now check for ingredientsKartik K. Agaram2015-07-251-12/+28
| | | | Also standardized warnings.
* 1731 - ah, now fully responsiveKartik K. Agaram2015-07-081-0/+11
| | | | The trick is to check for more events and not bother rendering if so.
* 1705 - change background colorKartik K. Agaram2015-07-041-10/+16
|
* 1702 - experiment: start using 'ordinal' in namesKartik K. Agaram2015-07-041-19/+19
| | | | | | | It comes up pretty early in the codebase, but hopefully won't come up in the mu level until we get to higher-order recipes. Potentially intimidating name, but such prime real estate with no confusing overloadings in other projects!
* 1656 - smooth refresh doneKartik K. Agaram2015-06-251-9/+31
| | | | Had to take control of tb_present() after all. Termbox was wise.
* 1655 - first attempt at smooth refresh: hide-cursorKartik K. Agaram2015-06-251-0/+20
| | | | | But it doesn't work, because moving the cursor inside 'render' also starts displaying it again.
* 1641Kartik K. Agaram2015-06-241-0/+2
| | | | | | Snapshot in switching editor-data.cursor to editor-data.before-cursor. But I have trouble coercing events to touch events, even though using the integer tag 2 for the conversion works.
* 1640Kartik K. Agaram2015-06-241-1/+1
| | | | | | | | Another bug in manually running the editor. At least show the error message when you raise warnings in console mode. Later we'll want to create a separate side channel and transparently plumb warnings to the 'menu bar' of the editor..
* 1618Kartik K. Agaram2015-06-211-8/+8
|
* 1616 - merging keyboard and events into 'console'Kartik K. Agaram2015-06-211-28/+51
| | | | | Only core layers currently passing. Console apps are probably still broken.
* 1614Kartik K. Agaram2015-06-211-3/+0
|
* 1545 - sketching out a simple editor widgetKartik K. Agaram2015-06-081-0/+22
|
* 1543Kartik K. Agaram2015-06-071-2/+2
|
* 1530 - switch to termbox's 256-color modeKartik K. Agaram2015-06-051-5/+5
|
* 1518 - still horribly brokenKartik K. Agaram2015-06-011-0/+1
| | | | | | Just figured out why a first keystroke of backspace was sending me out for a spin: run_interactive needs all early exits that don't actually run anything to increment the current_step_index(). FML, this is lousy..
* 1487 - repl working interactivelyKartik K. Agaram2015-05-271-3/+3
|
* 1486 - repl: hitting enter now workingKartik K. Agaram2015-05-271-2/+12
|
* 1457 - print to display in colorKartik K. Agaram2015-05-251-1/+6
| | | | Just foreground color for now.
* 1391 - avoid unsigned integersKartik K. Agaram2015-05-171-10/+10
|
* 1368 - alias carriage-return and newlineKartik K. Agaram2015-05-141-2/+3
| | | | | | | CRLF still shows as two newlines, though. Cross that bridge when we get to it. The new chessboard test is still hanging, though.
* 1357 - temporarily revert floating-point supportKartik K. Agaram2015-05-121-3/+3
|
* 1356 - snapshot #2: floating point supportKartik K. Agaram2015-05-121-3/+3
| | | | | | | | | | | | | | | I added one test to check that divide can return a float, then hacked at the rippling failures across the entire entire codebase until all tests pass. Now I need to look at the changes I made and see if there's a system to them, identify other places that I missed, and figure out the best way to cover all cases. I also need to show real rather than encoded values in the traces, but I can't use value() inside reagent methods because of the name clash with the member variable. So let's take a snapshot before we attempt any refactoring. This was non-trivial to get right. Even if I convince myself that I've gotten it right, I might back this all out if I can't easily *persuade others* that I've gotten it right.
* 1330Kartik K. Agaram2015-05-101-0/+3
|
* 1323 - keyboard supports backspace and newlineKartik K. Agaram2015-05-101-16/+38
| | | | | | Lots mixed into this commit: some off-by-one errors in display.cc a new transform to translate jump labels that I'd somehow never gotten around to supporting
* 1322 - ctrl-c should always interruptKartik K. Agaram2015-05-101-0/+1
|
* 1318 - 1317 actually works nowKartik K. Agaram2015-05-101-0/+1
|
* 1315 - chessboard now working interactivelyKartik K. Agaram2015-05-091-1/+2
| | | | | | | | | | | | | | | | | | | | I tried to bring too much into this commit, and paid the price with some debugging effort. Still havent't tried to enable line buffering, but I'll take a snapshot. Some tests are failing because of the huge hack in the scheduler. For a while I thought there was a bug in termbox because I kept seeing segfaults and valgrind complained about out-of-bounds access. But that was just subsidiary threads trying to print to the screen after I'd returned to console mode. Maybe I should add a test for send-keys-to-channel. Or just use a fake keyboard rather than a channel. And *then* there's the fact that the interaction is molasses slow. Slower than the arc version even though the tests run so much faster. And what's with the long pauses in printing strings to screen?
* 1298 - better ingredient/product handlingKartik K. Agaram2015-05-071-32/+21
| | | | | | | | | | | | | | | | | | | All primitives now always write to all their products. If a product is not used that's fine, but if an instruction seems to expect too many products mu will complain. In the process, many primitives can operate on more than two ingredients where it seems intuitive. You can add or divide more than two numbers together, copy or negate multiple corresponding locations, etc. There's one remaining bit of ugliness. Some instructions like get/get-address, index/index-address, wait-for-location, these can unnecessarily load values from memory when they don't need to. Useful vim commands: %s/ingredients\[\([^\]]*\)\]/ingredients.at(\1)/gc %s/products\[\([^\]]*\)\]/products.at(\1)/gc .,$s/\[\(.\)]/.at(\1)/gc
* 1276 - make C++ version the defaultKartik K. Agaram2015-05-051-0/+212
I've tried to update the Readme, but there are at least a couple of issues.
@akkartik.com> 2015-07-25 22:15:51 -0700 committer Kartik K. Agaram <vc@akkartik.com> 2015-07-25 22:15:51 -0700 1853' href='/akkartik/mu/commit/html/039wait.cc.html?h=main&id=9542bb112419d575190a72baf7f964c3e32df223'>9542bb11 ^
90560d71 ^
9542bb11 ^


672e3e50 ^
65361948 ^
9542bb11 ^
672e3e50 ^



65361948 ^


90560d71 ^



9542bb11 ^
90560d71 ^

9542bb11 ^
65361948 ^

672e3e50 ^



65361948 ^


d5d908dd ^
65361948 ^
90560d71 ^


65361948 ^
65361948 ^






90560d71 ^


65361948 ^

90560d71 ^
65361948 ^



672e3e50 ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191