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

SCM Repository

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

Diff of /branches/pure-cfg/TODO

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 784, Fri Apr 8 01:56:35 2011 UTC revision 821, Wed Apr 13 23:17:35 2011 UTC
# Line 2  Line 2 
2  SHORT TERM =============  (for curvature-based VR)  SHORT TERM =============  (for curvature-based VR)
3  ========================  ========================
4    
5  Outer products  want: warnings when D (and likely I) is declared as a
6      syntax [DONE]  variable name (now get confusing error messages now)
     typechecking  
     IL and codegen  
7    
8  Add M dot v, v dot M, and M dot N  For RGB color output of 2D transfer function (indexed by
9    kappa1,kappa2), or for a 1D transfer function, will need
10    something akin to convolution on vector images
11    
12  Identity matrix [DONE up to code generation]  IL support for higher-order tensor values (matrices, etc).
13        tensor construction [DONE]
14        tensor indexing [DONE]
15        tensor slicing
16        verify that hessians work correctly
17    
18  determinant ("det") for tensor[3,3]  Outer products [DONE]
19    
20  trace [DONE]  Add M dot v, v dot M, and M dot N [DONE]
21    
22  expand trace in mid to low translation  Identity matrix [DONE up to code generation]
23    
24  extend norm (|exp|) to all tensor types  trace [DONE]
25    
26  extend normalize to all tensor types  extend norm (|exp|) to tensor[3,3]
27    
28  Use ∇⊗ etc syntax  Use ∇⊗ etc. syntax
29      syntax [DONE]      syntax [DONE]
30      typechecking      typechecking
31      IL and codegen      IL and codegen
# Line 32  Line 36 
36          value construction: '{' e1 ',' … ',' en '}'          value construction: '{' e1 ',' … ',' en '}'
37          indexing: e '{' e '}'          indexing: e '{' e '}'
38    
 IL support for higher-order tensor values (matrices, etc).  
     tensor construction  
     tensor indexing and slicing  
     verify that hessians work correctly  
   
 Add type aliases for color types  
     rgb = real{3}  
     rgba = real{4}  
   
 Decide if we want to allow redefinitions of variables  
   (as in vr-lite-cam.diderot)  
   
39  Infix dot product and cross product [DONE]  Infix dot product and cross product [DONE]
40    
41  lerp on scalars and vectors [DONE]  lerp on scalars and vectors [DONE]
42    
43  ==============================  ==============================
44  other SHORT TERM =============  (needed for LIC)  other SHORT TERM =============  (including needed for LIC)
45  ==============================  ==============================
46    
47    determinant ("det") for tensor[3,3]
48    
49    Decide if we want to allow redefinitions of variables
50      (as in vr-lite-cam.diderot)
51    
52    extend norm (|exp|) to all tensor types
53    
54    extend normalize to all tensor types
55    
56  vector fields: convolution on vector images  vector fields: convolution on vector images
57    
58    expand trace in mid to low translation
59    
60    value-numbering optimization
61    
62    Add type aliases for color types
63        rgb = real{3}
64        rgba = real{4}
65    
66  ==============================  ==============================
67  MEDIUM TERM ================== (needed for streamlines & tractography)  MEDIUM TERM ================== (needed for streamlines & tractography)
68  ==============================  ==============================
# Line 80  Line 89 
89    
90  proper handling of stabilize method  proper handling of stabilize method
91    
92    Add support for code like
93    
94            (F1 if x else F2)@pos
95    
96    This will require duplication of the continuation of the conditional (but we should only
97    duplicate over the live-range of the result of the conditional.
98    
99    ==============================
100    other MEDIUM TERM ============
101    ==============================
102    
103    support fog Python interop and GUI
104    
105  ==============================  ==============================
106  LONG TERM ====================  LONG TERM ====================
107  ==============================  ==============================
108    
109    Better handling of variables that determines the scope of a variable based on its actual use,
110    instead of where the user defined it.  So, for example, we should lift strand-invariant variables
111    to global scope.  Also prune out useless variables, which should include field variables after the
112    translation to mid-il.
113    
114  co- vs contra- index distinction  co- vs contra- index distinction
115    
116  add ":" for tensor dot product (contracts out two indices  add ":" for tensor dot product (contracts out two indices
# Line 101  Line 128 
128    
129  "tensor comprehension" (like list comprehension)  "tensor comprehension" (like list comprehension)
130    
131    Python/ctypes interface to run-timez
132    
133  ======================  ======================
134  BUGS =================  BUGS =================
135  ======================  ======================
# Line 112  Line 141 
141  test/vr-kcomp.diderot:  test/vr-kcomp.diderot:
142      // HEY (scoping BUG): the strand parameters (e.g. ui, vi) ...      // HEY (scoping BUG): the strand parameters (e.g. ui, vi) ...
143    
 test/vr-lite-cam.diderot:  
 // HEY (BUG): these:  
 //   vec3 lightVspDir = [1.0, -0.0, 0.0];  
 //   vec3 lightVspDir = [1.0, 0.0, -0.0];  
 // work okay but this:  
 //   vec3 lightVspDir = [1.0, 0.0, 0.0]; ...  
   
144  test/zslice2.diderot:  test/zslice2.diderot:
145  // but is this not valid syntax for creating field in one shot?  // but is this not valid syntax for creating field in one shot?
146  //field#2(3)[] F = (load("../data/zimg112.nrrd")) ⊛ bspln3;  //field#2(3)[] F = (load("../data/zimg112.nrrd")) ⊛ bspln3;

Legend:
Removed from v.784  
changed lines
  Added in v.821

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