-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
277 lines (198 loc) · 6.56 KB
/
TODO
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
=== UE4
* Make sure the blueprints are compatible with 4.3
* Test suite
* How does this get linked in?
* Gotta be part of the Frames plugin . . . but of course, if it is part of the Frames plugin, then that's a ton of unnecessary cruft
* Two builds - one test, one non-test? Begging for problems, might be the best we can do
* this can be part of the ue4_plugin project, just not part of the actual plugin
* Base - may be difficult - thread sync?
* Make sure to test RAW texture types
* Blueprint test suite too
* Dynamic texture
* Render to texture
* Start integration layer
* Event hooks
* FGenericApplicationMessageHandler integration
* ShouldProcessUserInputMessages
* OnKeyChar convert into Type
* OnKeyDown/OnKeyUp (easy)
* FKey from those?
* FKey conversion
* OnMouseDown
* OnMouseUp
* OnMouseWheel
* OnMouseMove
* Environment
* InputKey/Text
* Doxygen linkup
* Single-project integration?
* Read all solutions from .sln file
* Find all connections to .prj file
* Recreate all solutions, recreate connections
* Figure out linkages to Frames based on that
* Debug without Game is the only one that connects to debug, everything else connects to release
* install instructions
* shader copying
* image importing
* sRGB
* font importing
=== DOCS
* detailed usage of all frame types
* deal with removing the temporary documentation files better, even if they're open?
* Clear warnings
* Get Anchor and the like included
* Deep docs
* need to put a thorough description of the pin API somewhere
* add example "code" to pinning
* Come up with an official distinction between worldspace Point and relative ???
* Final pass
=== DOCS TWEAK
* spellcheck
* The buttons on top don't behave properly
* URLs suck
* class list->frames->*
=== DELEGATE
* Rethink Delegate
=== TWEAK
* Kill Raw
* Copy libs to test as part of renderer, not as part of test
* Verify that appropriate files are all being included
* /Zl compiler option?
* script to build deps
* Font corpus cleanup
* sparsehash for performance
=== DEPLOY
* Get licensing
* Send to small trusted group
* Post on some forum
* UE4 release
=== SCENE/CONTEXT/COORD
* Don't bother with absolute offsets
* seriously, just kill the absolute system, it's garbage
* If a scene changes scale, all of its children must be invalidated
* If a frame is re-parented to a different scene, all of its children must be invalidated
* Let's keep a Scene pointer in every frame; easiest way for now
* Later, we'll want to be more clever with invalidation
* Absolute offsets *are* useful if we want to avoid circular dependencies :|
* but maybe the solution here is really just the linear solver
* Rotate class?
* This does introduce some pain that just scaling doesn't
=== TESTING
* Circular parent set!
* Events
* Modify events, re-call the same event recursively!
* Frames
* Text is the big one here, especially everything involving editing
* Coverage
* Release?
=== BUILDING
* Simple examples
* SDL/GL
* Figure out how to document Delegate
* Official release?
=== TWEAK
* Memory leak tracking
* Max-frame-count value
* Frame enumeration
* dxgidebug on vger
* get rid of split headers
* convert to https://code.google.com/p/jpeg-compressor/
* convert to that gl alternative
* Split Loaders into their own libs
* Test
* opengl 3.2 core
* D3D11_USAGE_DYNAMIC fix
* Wire Environment->TextManager conversion
* Kill TextManager
* SRGB? that's a crazy idea, buuuut
* Linux?
* Clang?
* Clang Static?
* Redesign Lua API sanely
=== PROGRESSION
* Better global register setup
* DX support
* rejigger event core to handle remove-while-trigger better
* event for focus change?
* click outside to remove focus
* frames/textures don't appear until a window gets invalidated
* Scene - coordinate system transformations
* Stage - animations
* Canvas - freeform drawing, tiled textures
* Effect - Apply a simple effect to all members
* Postprocess - record what's underneath it, mutate it in some expensive fashion
* Bounds?
* Or are we better off allowing some sort of delegate-style Width or Height? Freeform dependencies?
* someday, consider how to do Effect/Scene/Stage/Postprocess better
* maybe some kind of runtime decorator system
* userdata
=== DOXYBUGS
* Enum?
* flatten class list so Frames::Input::Meta shows up as Input::Meta
* Includes friends in the .hhc
* public members of private subclass is included
* overloads look stupid
* get rid of class hierarchy
=== POLISH PASSES BELOW
* NaCl
* Raw
* Figure out 9-slice (much later?)
* Doublecheck Environment event spawners to make sure they're Obliterate-safe
* Call semantics:
* Any Layout function can be called from an event handler at any time
* Environment functions may not be called from event handlers
* Doublecheck these in debug mode? Global event locks wouldn't be tricky
* Text distance field
* http://www.comp.nus.edu.sg/~tants/pba.html
* http://directtovideo.files.wordpress.com/2012/03/gdc_2012_released.pdf
* http://www.ronaldperry.org/PCTPres.pdf
* http://www.youtube.com/watch?v=CGZRHJvJYIg
* MouseHover?
* Unit testing
* Derive font size adjustment more precisely - binsearch, or dig into the code and see wtf is going on
* Lua API advanced
* Optional inline documentation
* At some point we should set up something to notify Frames if Lua shuts down first
* pageup/pagedown for textfields
* Refresh mouse position/mouseover when the layout changes
* Optimization:
* Propogate acceptance bits upstream
* Propogate full bounds upstream
* Event queueing/buffering to avoid reentrancy issues
* Subpixel text rendering
* Autocorpusing
* More text stuff
* lazier text resolving, setting text then size shouldn't result in an extra
* truncation marker
* truncation marker whitespace return
* glPixelStorei should be saved?
* font color mappings
* Convert layout engine to ints
* Build process for cygwin/linux/windows
* texture deallocation
* split texture into its own thing
* async loading for textures someday
* deal with allocation properly
* remember image loading
* thorough testing
* crunch down on header includes
* Multithreaded rendering
* double buffering, triple buffering
* all sorts of queueing needed for things
* De-float everything
* Test slugs
* ogl2_1
* ogl3_2_compat
* ogl3_2_core
* ogles2
* ogles3
* dx11_fl9
* dx11_fl10
* dx11_fl11
* dx11_fl11_dbg
* dx11_fl11_ref
=== JENKINS TWEAK
https://issues.jenkins-ci.org
* Don't leak file handles when unexpected shutdowns happen
* mspdbsrv.exe exclusion - feature request
* keep system awake when building?