Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/pure-cfg/TODO
ViewVC logotype

Annotation of /branches/pure-cfg/TODO

Parent Directory Parent Directory | Revision Log Revision Log


Revision 782 - (view) (download)

1 : glk 782 ======================
2 :     BUGS =================
3 :     ======================
4 :    
5 :     test/mip-cam.diderot:
6 :     // generated C code looks like "(float)p_ui_0--0.5e0f"
7 :     //real rayU = 2.0*camUmax*(real(ui) - -0.5)/real(imgResU) - camUmax;
8 :    
9 :     test/vr-kcomp.diderot:
10 :     // HEY (scoping BUG): the strand parameters (e.g. ui, vi) ...
11 :    
12 :     test/vr-kcomp.diderot:
13 :     // HEY (BUG) stabilize function not working
14 :     // setting rgba should be done there
15 :     rgba = [gray, gray, gray, 1.0-transp];
16 :    
17 :     test/vr-lite-cam.diderot:
18 :     // HEY (BUG): these:
19 :     // vec3 lightVspDir = [1.0, -0.0, 0.0];
20 :     // vec3 lightVspDir = [1.0, 0.0, -0.0];
21 :     // work okay but this:
22 :     // vec3 lightVspDir = [1.0, 0.0, 0.0]; ...
23 :    
24 :     test/zslice2.diderot:
25 :     // but is this not valid syntax for creating field in one shot?
26 :     //field#2(3)[] F = (load("../data/zimg112.nrrd")) ⊛ bspln3;
27 :     // It is valid syntax, but there is a bug in the conversion from HighIL to MidIL
28 :    
29 :     test/zslice2.diderot:
30 :     // HEY (bug) bspln5 leads to problems ...
31 :     // uncaught exception Size [size]
32 :     // raised at c-target/c-target.sml:47.15-47.19
33 :     //field#4(3)[] F = img ⊛ bspln5;
34 :    
35 : glk 781 ========================
36 :     SHORT TERM ============= (for curvature-based VR)
37 :     ========================
38 :    
39 : jhr 763 Outer products
40 :     syntax [DONE]
41 :     typechecking
42 :     IL and codegen
43 :    
44 :     Add M dot v, v dot M, and M dot N
45 :    
46 :     Identity matrix [DONE up to code generation]
47 :    
48 : glk 782 determinant ("det") for tensor[3,3]
49 :    
50 : jhr 763 trace [DONE]
51 :    
52 :     expand trace in mid to low translation
53 :    
54 :     extend norm (|exp|) to all tensor types
55 :    
56 : glk 781 extend normalize to all tensor types
57 : jhr 763
58 :     Use ∇⊗ etc syntax
59 :     syntax [DONE]
60 :     typechecking
61 :     IL and codegen
62 :    
63 :     Add sequence types
64 :     syntax
65 :     types: ty '{' INT '}'
66 :     value construction: '{' e1 ',' … ',' en '}'
67 :     indexing: e '{' e '}'
68 :    
69 :     IL support for higher-order tensor values (matrices, etc).
70 :     tensor construction
71 :     tensor indexing and slicing
72 : jhr 767 verify that hessians work correctly
73 : jhr 763
74 :     Add type aliases for color types
75 :     rgb = real{3}
76 :     rgba = real{4}
77 : glk 781
78 :     stabilize {} code block
79 :    
80 : glk 782 Decide if we want to allow redefinitions of variables
81 :     (as in vr-lite-cam.diderot)
82 :    
83 : glk 781 DONE:
84 :     Infix dot product and cross product
85 :     lerp on scalars and vectors
86 :    
87 :     ==============================
88 :     other SHORT TERM ============= (needed for LIC)
89 :     ==============================
90 :    
91 :     vector fields: convolution on vector images
92 :    
93 :     ==============================
94 :     MEDIUM TERM ================== (needed for streamlines & tractography)
95 :     ==============================
96 :    
97 :     ability to emit/track/record variables into dynamically re-sized
98 :     runtime buffer
99 :    
100 :     evals & evecs for symmetric tensor[3,3]
101 :    
102 :     tensor fields: convolution on general tensor images
103 :    
104 :     ==============================
105 :     other MEDIUM TERM ============ (needed for particles)
106 :     ==============================
107 :    
108 :     run-time birth and death of strands
109 :    
110 :     "initially" supports lists
111 :    
112 :     "initially" supports lists of positions output from
113 :     different initalization Diderot program
114 :    
115 :     spatial data structure that permits strands' queries of neighbors
116 :    
117 :     ==============================
118 :     LONG TERM ====================
119 :     ==============================
120 :    
121 :     co- vs contra- index distinction
122 :    
123 :     some indication of tensor symmetry
124 :     (have to identify the group of index permutations that are symmetries)
125 :    
126 :     dot works on all tensors
127 :    
128 :     outer works on all tensors
129 :    
130 :     Einstein summation notation
131 :    
132 :     "tensor comprehension" (like list comprehension)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0