diff options
author | Péter Diviánszky <divipp@gmail.com> | 2016-03-02 09:33:13 +0100 |
---|---|---|
committer | Péter Diviánszky <divipp@gmail.com> | 2016-03-02 09:33:13 +0100 |
commit | 5392b590ecbb0ad3f93f749bca83951f252e1905 (patch) | |
tree | 0948b2abe07944d8a955584284ab9bbcfef96860 /TODO | |
parent | f4fb7a1d8f81e97598ccabb503a28eb30754edcd (diff) |
move the TODOs to Trello
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 204 |
1 files changed, 4 insertions, 200 deletions
@@ -109,205 +109,9 @@ done: | |||
109 | - update overview | 109 | - update overview |
110 | - editor: more visible error ranges | 110 | - editor: more visible error ranges |
111 | - update API docs | 111 | - update API docs |
112 | - release post about v0.5 | ||
112 | 113 | ||
113 | next: | 114 | ------------------------------------------------------------------------ |
114 | - editor: wasd MVP (for spectator camera) | 115 | Note: the TODOs were moved to https://trello.com/b/TcuVPBAR/lambdacube3d |
115 | - editor: editor socket reconnection | 116 | ------------------------------------------------------------------------ |
116 | - webpage: basic search engine optimization | ||
117 | 117 | ||
118 | release post: | ||
119 | - API clean-up: | ||
120 | - tuples are heterogeneous lists (link) -> simplified the API a lot and made it complete | ||
121 | - minor syntax change for unary tuples | ||
122 | - shader functions are generated (or variable bindings in general? need to test) | ||
123 | - parsec -> megaparsec (brought some performance improvements) | ||
124 | - communications: | ||
125 | - opened forum / mailing list (goals: getting people to show their stuff and channel their requests/pleas for help) | ||
126 | - API docs improved | ||
127 | - language specs updated | ||
128 | - introduced changelog for the compiler | ||
129 | - rescheduled tasks: separate the front-end earlier as a generic component | ||
130 | - current focus / what to expect: make the Quake example work | ||
131 | |||
132 | |||
133 | --------------------------------------------------------------------------------------------------------- | ||
134 | Note: the TODOs below is going to be re-scheduled and moved to https://trello.com/b/TcuVPBAR/lambdacube3d | ||
135 | --------------------------------------------------------------------------------------------------------- | ||
136 | |||
137 | - backend: array support | ||
138 | |||
139 | - compiler: generate samplers (OpenGL 3.3) | ||
140 | - backend: setup texture sampler configuration (purescript) | ||
141 | - backend: setup viewport for render target size (purescript) | ||
142 | |||
143 | - backend: GLSL codegen doesn't support Vector and tuple patterns (not compiler frontend related): | ||
144 | fragment02tuple | ||
145 | fragment02vectorpattern | ||
146 | fragment05uniform | ||
147 | - backend: basic pipeline optimization | ||
148 | |||
149 | |||
150 | |||
151 | - docs: feature teaser, 2 min paper videos | ||
152 | - minimal quake videos | ||
153 | - documentation: getting started: hello world on various platforms +Csaba | ||
154 | |||
155 | extra (parser/refactoring) | ||
156 | - testenv: command line flag for runTest - parse only (outputs SExp) | ||
157 | |||
158 | ------------------------------------------------------------------- | ||
159 | |||
160 | 0.6 goal: type classes | ||
161 | |||
162 | - community: blog about compiler internals | ||
163 | - backend: generated backends | ||
164 | - user supplied cpu values like color values and rendering context | ||
165 | - review all old disabled test cases | ||
166 | - 100% test coverage of the parser | ||
167 | |||
168 | ------------------------------------------------------------------- week Mar 7 | ||
169 | -- padding week | ||
170 | |||
171 | refactoring, cleanup, contact with people, etc. | ||
172 | - blog: c++ backend for opengl es 2.0 / generated backends | ||
173 | - blog: improved quake renderer, slowly turns into haskell quake engine | ||
174 | - blog: dependent type inference | ||
175 | - blog: type classes support | ||
176 | - blog: fast reducer | ||
177 | - move the website to github pages | ||
178 | |||
179 | ------------------------------------------------------------------- weeks Mar 14, Mar 21 | ||
180 | |||
181 | 0.7 goal: frequencies | ||
182 | |||
183 | - apps: various prototype experiments (e.g. visual effects, high-level API, FRP) | ||
184 | - libs: fequencies in high level API | ||
185 | - docs: tutorial (like salesforce) | ||
186 | - docs: API documentation | ||
187 | - 100% test coverage of Infer.hs | ||
188 | - support pipeline storage serialization | ||
189 | |||
190 | ------------------------------------------------------------------- weeks Mar 28, Apr 4 | ||
191 | |||
192 | 0.8 goal: high-level API | ||
193 | |||
194 | - libs: high level API (lambdacube library) (application driven) | ||
195 | - apps: various prototype experiments (e.g. visual effects, high-level API, FRP) | ||
196 | - docs: feature teaser, 2 min paper video | ||
197 | - generate warning messages for possible typos in names | ||
198 | |||
199 | ------------------------------------------------------------------- weeks Apr 11, Apr 18 | ||
200 | |||
201 | 0.9 goal: experiment with FRP | ||
202 | |||
203 | - libs: begin experiments with FRP | ||
204 | - docs: tutorial (like salesforce) | ||
205 | - backend: basic GPGPU support | ||
206 | - basic 3d graphics introduction with LambdaCube 3D, something like this: http://petercollingridge.appspot.com/3D-tutorial/generating-objects | ||
207 | |||
208 | ------------------------------------------------------------------- week Apr 25 | ||
209 | |||
210 | refactoring, cleanup, contact with people, etc. | ||
211 | |||
212 | - blog: pattern match compiler | ||
213 | - blog: frequency support | ||
214 | - blog: higher level abstractions in the graphics API | ||
215 | |||
216 | ------------------------------------------------------------------- weeks May 2, May 9 | ||
217 | |||
218 | 1.0 goal: debug support | ||
219 | |||
220 | - editor improvments | ||
221 | - backend: basic debug support | ||
222 | - testenv: systematic micro tests (with quickcheck?) | ||
223 | - community: gamejam | ||
224 | - docs: feature teaser, 2 min paper video | ||
225 | |||
226 | ------------------------------------------------------------------- weeks May 16, May 23 | ||
227 | |||
228 | - backend: Unity plugin | ||
229 | - docs: feature teaser, 2 min paper video | ||
230 | |||
231 | ------------------------------------------------------------------- week May 30 | ||
232 | |||
233 | refactoring, cleanup, contact with people, etc. | ||
234 | |||
235 | ------------------------------------------------------------------- weeks Jun 6, Jun 13 | ||
236 | |||
237 | - apps: demo for a demoscene party | ||
238 | - backend: profile-based optimization with machine learning | ||
239 | extra: | ||
240 | - write docs for the data definition language and also release the lib | ||
241 | |||
242 | ------------------------------------------------------------------- weeks Jun 20, Jun 27 | ||
243 | |||
244 | - apps: small game to App Store or Google Play | ||
245 | - docs: document/teach programming skills with dependent types | ||
246 | - community: contact people in industry | ||
247 | |||
248 | ------------------------------------------------------------------- end of semester | ||
249 | |||
250 | refactoring, cleanup, contact with people, etc. | ||
251 | reviews, blogs | ||
252 | |||
253 | - plan the route | ||
254 | - blog: data definition language with support: Haskell, PureScript, C++ | ||
255 | |||
256 | |||
257 | ------------------------------------------------------------------- end of route | ||
258 | |||
259 | 2.0 | ||
260 | - involving more people | ||
261 | - backend: dynamic pipelines | ||
262 | - backend: dynamic input grouping/restructure for better performance | ||
263 | - Vulkan backend | ||
264 | - compiler: reflection (template Haskell) | ||
265 | - support nested data parallelism | ||
266 | - compiler: self-compilation | ||
267 | - domain-free compiler (move all lambacube specific parts into libraries & backend) | ||
268 | - compiler: Agda modelling | ||
269 | - strictness annotation (e.g. popups in editor) | ||
270 | - strictenss injection using machine learning | ||
271 | - inlining using machine learning | ||
272 | - pure haskell implementation of graphics pipeline (gpu primitives) | ||
273 | - book about pure functional graphics and game development, including pure FPS game (quake3) explained in details | ||
274 | - parallelize the compiler | ||
275 | - estimate pipeline's memory usage | ||
276 | |||
277 | -------------------------------------------------------------------- | ||
278 | |||
279 | insert somewhere | ||
280 | - editor: input editor (add/edit new uniform values e.g. floats, matrixes and textures if possible) | ||
281 | - testenv: create comparison charts from the results | ||
282 | - measure shader performance | ||
283 | - compiler: parse haddock comments and generate api documentation from source | ||
284 | - fix variance shadow mapping | ||
285 | |||
286 | * New Quake map viewer | ||
287 | - compiler: HOAS reducer | ||
288 | |||
289 | ===== compiler | ||
290 | * Frequencies & type classes, recursion | ||
291 | * Extra language features | ||
292 | * amiguity check & other checks | ||
293 | * Better error messages | ||
294 | * Speedup | ||
295 | |||
296 | ===== backend | ||
297 | * generate backend for OOP languages | ||
298 | languages: C++, Java, C#, Python, TypeScript, ObjC, Swift | ||
299 | APIs: GLES2.0, WebGL1.0, GL3.3 | ||
300 | * array support & storage serialization | ||
301 | * feature tests for APIs | ||
302 | * feature complete APIs + redesign using row polymorphism | ||
303 | APIs: GLES2.0/WebGL1.0, GL3.3, GL4.4/GL4.5 (required for GPGPU) | ||
304 | * CPU interpreter | ||
305 | - change the background color in runtime | ||
306 | - dynamic pipelines / frp | ||
307 | * try GRIN backend for CPU code | ||
308 | |||
309 | ===== documentation/webpage | ||
310 | * getting started for every supported language | ||
311 | * showcase nice screenshots and effects on front page | ||
312 | * create demo videos | ||
313 | * create how to participate/open project page | ||