doc/TODO: remove ambiguous 'Beta' and 'pre-Beta' qualifiers from version designations.
[Ale.git] / doc / package / todo / index.xml
blobf291b4db53d12ff21368f02c7c6582befcdcbba7
1 <?xml version="1.0"?>
3 <!DOCTYPE article PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
4         "file:///usr/share/xml/docbook/schema/dtd/4.4/docbookx.dtd">
6 <article>
9 <articleinfo xmlns:xi="http://www.w3.org/2001/XInclude">
10   <title>To-do list</title>
11   <abstract>This article contains a tentative list of future versions and features.</abstract>
12 </articleinfo>
14 <section><title>0.8.5</title>
16 <edit by="David Hilvert" in-month="2006-Sep"/>
17 <edit by="David Hilvert" in-month="2006-Oct"/>
19 <note>This release may be combined with 0.9.0.</note>
20 <section>
21 <title>
22   Documentation
23 </title>
24   <ul>
25   <li> Remedy meaningless page numbers for book title pages in the set
26   ToC.</li>
27   <li> Convert from HTML to a more flexible format, such as texinfo or docbook.
28   </li><li>Add license information (GPL; see doc/COPYING) sections to the manuals.
29   </li><li>Add additional permission for distribution of hardcopy documentation 
30     with source downloadable from a public network server in the case of orders
31     placed on-line.
32   </li><li>Modify page footers to better reflect the updated license terms.
33   </li><li>Consolidate the manuals into a single work (e.g., docbook set, texinfo
34     top-node) for more straightforward searching and indexing.
35   </li><li>Add a new 'package manual' including the text of source package
36     documentation files README, TODO, etc., so that these are searchable
37     using utilities such as GNU info.
38   </li><li>Modify bootstrap script to generate plain-text package documentation
39     (README, TODO, etc.) from markup. (?)
40   </li><li>Centralize licensing and authorship information (e.g., there should be only
41     one COPYING file and only one AUTHORS file).
42   </li><li>Incorporate an automatic method for building the target documentation
43     types.  The example Makefile supplied with docbook-xsl would be sufficient
44     for this, but note that their license and copyright terms should be included
45     as copyright notices in the AUTHORS and/or COPYING files (or equivalent).
46   </li><li>Revise the user manual for new features and syntax.
47     <ul>
48     <li>Document new scoping operators {}, [], and [&lt;>].
49     </li><li>Document other changes in UI, including regularization of syntax.
50       <ul>
51       <li>in particular, commas can no longer appear in single-argument options
52         when using assignment-delimited syntax; use space-delimited syntax
53         instead.  This behavior is inconsistent with 0.8.4.
54       </li>
55       </ul>
56     </li>
57     </ul>
58   </li><li>Add a section to the README indicating how to obtain and update source via
59     darcs.
60   </li><li>Update bootstrap and/or Makefile.am to properly build and install
61     documentation.  (Since the required tools might not be be available
62     everywhere, building the documentation from the bootstrap file would
63     probably be preferable.)
64   </li><li>Add a tutorial, and credit Metin Toyran for suggesting a step-by-step
65     guide.
66   </li><li>Move generated doc files to subdirectories expressive of their format,
67     in cases where more than one file is used to contain the documentation.
68     (html, info, etc.)
69   </li>
70   </ul>
71 </section>
72 <section>
73 <title>
74   Website
75 </title>
76   <ul>
77   <li> Ensure consistency between the website hierarchy and the README.</li>
78   </ul>
79 </section>
80 <section>
81 <title>
82   Packaging
83 </title>
84   <section>
85   <title>
86     Complete Package
87   </title>
88 <ul><li> Investigate options for distributing a 'complete' package including full
89   revision history, pre-built documentation (if the ordinary distribution does
90   not include this), and, possibly, example image sets.  Direct download,
91   bittorrent and CD are the most prominent candidates for distribution.
92   <ul>
93   <li> In the case of CD distribution, information should probably be added to the
94     manuals regarding how to update CD-provided program source.
95   </li>
96   </ul>
97   </li>
98   </ul>
100   </section><section>
101   <title>
102     Windows Package
103   </title>
104 <ul>
105 <li> Investigate options for creating and distributing a combined source and
106   binary Windows package containing sufficient software to ensure support for
107   common image types (e.g., by statically linking with libraries for opening
108   JPEG and PNG files).  BitTorrent and CD are the most obvious candidates for
109   distribution.
110   <ul>
111   <li> This package could build on the package described above, as a 'for Windows'
112     variant or some such.
113   </li><li> This package could make use of an application such as InstallJammer for
114     installation.
115   </li>
116   </ul>
117   </li>
118 </ul>
119 </section>
120 </section>
121 </section>
123 <section>
124 <title>
125         0.9.0
126 </title>
127 <edit by="David Hilvert" in-month="2006-Sep"/>
128 <section>
129 <title>
130         Abstract and partial transformations
131 </title>
132 <ul>
133 <li>Add a generic 2D transformation class, supporting partial transformations.
134   <ul><li> 'partial transformation', as used here, means that it is expected that some
135     points will fail to map.
136   </li></ul>
137 </li><li> Add a partial 2D transformation class with constructor taking as arguments
138   a pair of 3D projective transformations and a 3D model.
139 </li></ul>
140 </section>
142 <section>
143 <title>
144         File scoping
145 </title>
146 <ul><li> Add new file-scoped options
147   <ul><li> Irani-Peleg
148   </li><li> black level
149   </li><li> alignment type
150   </li><li> focus details
151   </li></ul>
152 </li></ul>
153 </section>
154 <section>
155 <title>
156         Irani-Peleg for 3D models
157 </title>
158 <ul><li> Modify existing Irani-Peleg code to use generic (partial) 2D transformations.
159   <ul><li> in combination with the above, this should allow the algorithm to operate
160     on 3D models.
161   </li></ul>
162   </li></ul>
163 </section>
164 <section>
165 <title>
166         Focus bracketing for depth-of-field expansion
167 </title>
168 <ul><li> Add facilities for handling depth-of-field and focus bracketing in input
169   image sets, as suggested by Viktors Rotanovs and Gregory Maxwell.  This
170   change will likely involve:
171   <ul><li> using the 3D model for depth data, as suggested by Gregory Maxwell
172   </li><li> using user-provided (file-scoped) focus details to determine depth of field
173   </li><li> using variable PSF in the Irani-Peleg algorithm, as suggested by Gregory
174     Maxwell
175   </li><li> developing an approach to handle the incremental (non-Irani-Peleg) case.
176   </li></ul>
177   </li></ul>
178 </section>
179 <section>
180 <title>
181 Output image characteristics
182 </title>
183 <ul><li>Allow specification of output image characteristics, including exposure
184 (e.g., gamma) and channel offsets within a pixel.
185   </li></ul>
186 </section>
187 <section>
188 <title>
189 Output devices
190 </title>
191 <ul><li>Add support for specifying output devices, such as LCD monitors, to
192 allow shorthand customization of exposure (e.g., gamma) and other
193 characteristics, such as channel offset in the case of LCD screens for sub-pixel
194 anti-aliasing.
195   </li></ul>
196 </section>
197 <section>
198 <title>
199 Weight and certainty upper bounds
200 </title>
201 <ul><li>Add support for specifying weight and certainty upper bounds for
202 rendering, either as an absolute constraint or relative to average
203 weights, so that the overall contributions to an output pixel (or channel) are
204 constrained by weight.  
206   </li></ul>
207 </section>
209 <section>
210 <title>
211 Time locality
212 </title>
213 <ul><li>In combination with weight and certainty upper bounds, time locality could be
214 used to determine which frames are used to generate an output pixel.  As a
215 special case of this, video stream processing could favor frames
216 having the smallest time difference from the target frame.
217   </li></ul>
218 </section>
220 <section>
221 <title>
222         Multi-threading
223 </title>
224 <ul><li> Add multi-threading options (e.g., for rendering code), so that a single
225   invocation of the program can run on multiple processors simultaneously.
226 </li></ul>
227 </section>
228 </section>
232 <section>
233 <title>
234         1.0.0 (Stable)
235 </title>
236 <edit by="David Hilvert" in-month="2006-Sep"/>
237 <section>
238 <title>
239         Performance
240 </title>
241 <ul><li> Refine rendering and alignment code for better performance.
242   </li></ul>
243 </section>
244 <section>
245 <title>
246         Internationalization
247 </title>
248 <ul><li> Enhance the command-line interface in preparation for i18n.  (?)
249   <ul><li> e.g., syntax for identifying synchronized frame sets
250   </li></ul>
251 </li><li> Internationalize the command-line interface and help text to accommodate
252   translations.
253   </li></ul>
254 </section>
255 <section>
256 <title>
257         Technical Manual Updates
258 </title>
259 <ul><li> Update the Technical Manual for information regarding 3D operation.
260 </li></ul>
261 </section>
262 </section>
266 <section>
267 <title>
268         Unsorted
269 </title>
270 <edit by="David Hilvert" in-month="2006-Sep"/>
271 <edit by="David Hilvert" in-month="2006-Oct"/>
272 <section>
273 <title>
274         Documentation
275 </title>
276 <ul><li> Generate correctly indented book-level tables of contents when rendering
277 the complete set of manuals.
278 </li></ul>
279 </section>
280 <section>
281 <title>
282         Integer-value routines
283 </title>
284 <ul><li> Add facilities for manipulating images storing color as integer-valued data,
285   possibly as library routines.
286 </li></ul>
287 </section>
288 <section>
289 <title>
290         Library
291 </title>
292 <ul><li> Move image-processing routines into a library that can be used by other 
293   programs.
294 </li></ul>
295 </section>
296 <section>
297 <title>
298         Language Bindings
299 </title>
300 <ul><li> Add bindings for other programming languages.
301 </li></ul>
302 </section>
303 </section>
307 </article>