source: git/doc/TODO.htm @ f336ab9

RELEASE/1.2debug-cidebug-ci-sanitisersfaster-cavernloglog-selectstereostereo-2025walls-datawalls-data-hanging-as-warningwarn-only-for-hanging-survey
Last change on this file since f336ab9 was 85ed935, checked in by Olly Betts <olly@…>, 14 years ago

doc/TODO.htm: Update.

git-svn-id: file:///home/survex-svn/survex/trunk@3768 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100644
File size: 11.4 KB
Line 
1<HTML><HEAD>
2<TITLE>Survex To-Do List</TITLE>
3<STYLE type="text/css"><!--
4BODY, TD, CENTER, UL, OL {font-family: sans-serif;}
5-->
6</STYLE>
7</HEAD><BODY BGCOLOR=white TEXT=black>
8<H1>Survex To-Do List</H1>
9
10<ul>
11
12<li>Update translations.
13
14<li>After keyboard controlled movement, the measuring line/circle doesn't
15reappear until the mouse is moved (e.g. plan/elevation transition with P/L).
16
17<li>Save cavern log from aven?
18
19<li>Sort out display of full unicode in OpenGL window (currently we only
20handle latin1 there, which is sufficient for all the current i18ns).
21
22<li>img should return img_XSECT from Compass PLT files.
23
24<li>Fix depth clipping on grid
25
26<li>Consider using "legend" instead of "info box"...
27
28<li>Reword "Shift Survey Left", etc?
29
30<li>Look at rewording extend.sgml (AndyA comments)
31
32<li>message.c should perhaps use GetUserDefaultUILanguage() on WinMe/Windows2000 or
33later to find language id.  It's what MS say you should use, although some of
34the comments here suggest that perhaps it's not ideal (and wx still uses
35GetUserDefaultLCID() too):
36<a href="http://blogs.msdn.com/michkap/archive/2006/05/22/604509.aspx">http://blogs.msdn.com/michkap/archive/2006/05/22/604509.aspx</a>
37
38<li>Lots of aven things need documenting.
39
40<li>Does anyone use Controls-&gt;"Reverse Sense"?  It made some sense with
41caverot but now seeing the mouse pointer makes people expect the default
42motions (for right button drag particularly).
43
44<li>Clean up export.cc and allow scale, line width, etc to be specified
45
46<li>LRUD in Aven Export
47
48<li>Better handling of missing LRUD values
49
50<li>Move gl* calls out of gfxcore.cc into gla-gl.cc!
51
52<li>Smooth wrinkles in presentation code (stop pres on Open or
53New, changing focus on listctrl as presentation plays doesn't really work
54properly)
55
56<li>Draw the measuring line directly onto the front buffer, so we can remove it
57with a copy from the back buffer and redraw it in the new position without a
58re-render.
59
60<li>Round the measuring line coords so the ring is a nice shape?  Or just
61antialias the ring, "there" blob and line?
62
63<li>Process all pending input before rerendering to improve responsiveness.
64
65<li>Check timing code - we need to glFinish to ensure it's all drawn, and that
66may be needed to get meaningful timing info.
67
68<li>3d format:
69<ul>
70  <li>sort out XSECT - I'm sure I meant there to be 1 and 2 byte forms, not 2
71  and 4 - 4 byte is only useful if a passage dimension is &gt; 327.67m!
72
73  <li>add "this is an extended elevation" flag
74
75  <li>store "file processed on" date as a time_t rather than a string?
76
77  <li>store equated stations in some way
78
79  <li>store legs by end stations rather than repeating coordinates over and
80  over?
81</ul>
82
83<li>Add "colour by survey" - colour by cave (and more generally by sub-prefix):
84maybe "aven --survey 161 --colour-by-sub-prefix all.3d" would result in
85lhroute, rhroute, adrian, etc all getting different colours...
86
87<li>Implement "Skip blank pages" in aven printing
88
89<li>Terrain data (patch from PhilU)
90
91<li>*fix with datums etc
92
93<li>different keyboard layouts mean that some key choices don't make much sense...
94
95<li>*data chamber ...
96
97<li>*data nsew ... for pitches
98
99<li>Easy way to "print extended elevation"
100
101<li>Unix full screen mode needs to allow dialogs to appear over the window
102(e.g. try Ctrl+O while in full screen mode).  I've added a tweak to drop out
103of it before showing dialog and return after, but this isn't ideal.
104It would be best of all if wx got this right...
105
106<li>Optional lazy label redraw during drags?  Or turn on at some redraw time
107threshold...
108
109<li>
110Warn bearings not 3 digits, gradient not &lt;sign&gt;&lt;digit&gt;&lt;digit&gt;
111
112<li>Allow angles as deg/min/sec (for theodolite data) (060&deg;10'15" as 060 10
11315, or 060.1005 (crap notation))
114
115<li>Add support for bearings of form N20E (ie [NS][0-9]+[EW])?
116
117<li>should % after a clino reading work?
118
119<li>cavern: auto declination?
120
121<li>Sort out gross error detection code
122
123<li>Fixing a point by triangulation?
124
125<li>Theodolite + level:
126<ul>
127  <li>delta(bearing (relative to 0 at start)
128  <li>delta(horizontal)
129  <li>delta(vertical) / maybe "clino" instead
130</ul>
131
132<li>Theodolite only:
133<ul>
134  <li>delta(bearing (relative to 0 at start)
135  <li>delta(horizontal)
136  <li>infinite sd for z
137</ul>
138
139<li>Infinite sds so we can fix in x and y only (or z only)?
140
141<li>use more accuracy than nearest point (1/72") in printps?
142
143<li>Some way to view older/newer version of survey
144
145<li>Label lengths aren't considered when working out image size when
146printing so a long label can spill off the edge of the printout
147
148<li>For warnings such as "Suspicious compass reading", report the reading
149in question in the error message (in the text form given in the file).
150Also report values when warning about problems with processed readings.
151
152<li>legs: implied: inloop/plumb/nosurvey, diving, other styles
153
154<li>legs: "dubious" for "tapeless" legs - bearing along continuation...
155
156<li>legs: hydrology - fossil/active/not recorded/static water/underwater
157(sump) [diving underwater by default? except style can mean altimeter
158too...]
159
160<li>legs: floor type - mud/sand/breakdown/flowstone/etc and can then used
161LRUD to draw crude survey...
162
163<li>legs: "commented out" flag?  syntax check data but otherwise ignore
164
165<li>station flags: "important" - e.g. top camp "fixed" point /
166junction,deadend (implied by order) /
167articulation pt (know for nodes I think a station is if at least one
168of its nodes is)
169
170<li>Allow valid range for an instrument to be specified.  Tie in with
171*instrument.  *units date - ranges for dates - e.g. "1990-" or
172"jun-aug"...
173
174<li>Maybe station lists should know how long they are?
175
176<li>cope with any combination of readings which gives enough info ???
177
178<li>Articulation point code: ideally the articulation point code should allow
179further network reductions to happen after splitting at articulation
180points?
181
182<li>leg and station "comments":
183
184<pre>*data passage station left right up down comment
185
1861 1.0 - 50+ 0.5 "large cairn"
187
1882 ...
189
190*data normal station l r u d comment newline tape compass clino
191
1921 1.0 - 50+ 0.5 "large cairn"
193
194  10.78 123 -03
195
1962 ...
197</pre>
198
199comment can be omitted "-" or not present if at end of line...?
200commentall?
201
202<li>GPS support (e.g. export survey as GPS coords)
203
204<li>print to an image file (use gd? or wxwidgets...)
205
206<li>Allow covariances to be specified in cartesian style?
207
208<li>grid on printouts
209<ul>
210<li>grid crosses option (only draw cross at intersections, not a full grid).
211<li>[(x,y) of a point to go through (easting, northing)
212<li>x spacing, y spacing (default to x spacing)
213<li>orientation (bearing of y-axis?) (defaults to 0)]
214</ul>
215
216<li>Mark: "surface.png is for a textured landscape -- there needs to be a
217menu option to select the texturing on/off, and this should be the
218texture used. map.png is just a different surface overlay for Loser."
219
220<li>Profile aven further (for both speed and memory usage)
221
222<li>by default put crosses on those points with no legs attached (unused
223fixed points)?
224
225<li>label junctions/dead ends?
226
227<li>section colouring/selective labelling
228
229<li>clipping - want to select a clip sphere (or maybe cube) centred on
230centre on rotation I think.
231
232<li>Some way to display all the names of an equated station (e.g. in pop-up
233window or the info panel).
234</ul>
235
236<H2>Miscellaneous Bugs</H2>
237
238<ul>
239
240<li>This gives "*** Singular!!!" warning with DEBUG_INVALID on:
241<pre>
2421 2 50000 0 -
2431 2 5 0 -30
244</pre>
245
246<li>aven: loading a .3d file with no survey data (or which has a valid header but is broken later) with a survey already loaded doesn't work well.
247
248<li>img.c: eliminate duplicate img_LABELs when reading .PLT files.
249
250<li>multiple readings:
251<p>
252average bearings specially - they don't average like normal numbers
253<p>
254%age gradients should probably average the same as angle gradients
255<p>
256Document - works like so:
257<pre>
258*set open {
259*set close }
260*calibrate compass {000.5 001.0 001.25}
2611 2 10.23 {000 001} -02
2622 3 {10.16 10.17} 127 {+06 +05}
2633 4 11.98 007 {+03 +03}
264</pre>
265Implement as extension to number format so any suitable numeric value to be
266repeated?
267</ul>
268
269<H2>Aven</H2>
270
271<ul>
272
273<li>check on monochrome, 16, and 256 colour displays - especially that depth
274colouring looks OK
275
276<li>Feed back redraw time to key based movement as in caverot?  Or perhaps best
277not to?  It depends on whether we expect people to hold down keys or not...
278Perhaps something smart where the first press is a fixed size, then after that
279it depends on the redraw?
280</ul>
281
282<H2>Documentation</H2>
283
284<ul>
285
286<li>Platform specific versions of docs?
287
288<li>Put more terms in terminology in docs ? trip, instrument, ...
289
290<li>Finish off manual loose ends.
291
292<li>Look at using docbook2man instead of docbook-to-man (command is
293<i>nsgmls man_aven.sgml | sgmlspl /usr/lib/perl5/sgmlspl-specs/docbook2man-spec.pl</i>).  Issues are: double space between sentences is lost;
294double blank lines appear in output.
295
296<li>Make sure there's documentation for all the various settings in print.ini
297(colours aren't documented at present)
298
299</ul>
300
301<H2>Survex file format</H2>
302
303<ul>
304
305<li>flag legs as "skeletal" or something? (i.e. not in the cave passage) -
306e.g. a radiolocation leg from one passage to another isn't surface,
307but it isn't in the cave itself either (it's through rock).  You could
308just call it surface but maybe later we want to use the surface
309flag to produce points for a surface triangulation...
310
311<li>?outlaw prefixes on stations in data legs (as Todd has lobbied for)
312and then the prefix of a leg == prefix of each end...?
313
314<li>comma separated dates in *date?
315
316<li>Find a solution to Thilo's "." problem.
317
318<li>Units in *fix (currently metres)
319
320</ul>
321
322<H2>Internationalisation and Localisation</H2>
323
324<ul>
325
326<li>quotes in messages - translate too? e.g. `XXX' to &laquo; XXX &raquo;.  Eric
327suggests not in French.
328
329<li>extract --help messages for translation.
330
331<li>control of output units in .err file and in stats at end of cavern run?
332In fact anywhere we report a value in degrees or metres, the units should be
333selectable
334
335</ul>
336
337<H2>Test Suite</H2>
338
339<ul>
340
341<li>test diving data with compass omitted (plumbed)
342
343<li>more tests for direction
344
345<li>improve 3d torture test and try to automate its use if possible.
346
347<li>Compass .mak and .plt and CMAP .xyz in test suite?
348
349<li>img.c: test routines in test suite?
350
351</ul>
352
353<H2>Miscellaneous</H2>
354
355<ul>
356
357<li>resolve FIXMEs in code
358
359<li>Default variance for topofil counter? (currently same as that of tape)
360
361<li>Rather than forming a linked list of components, solve each as it is
362identified?  Beware of issues like those that revcomplist test checks.
363
364<li>Don't split other traverses at articulating traverses when reporting error
365stats.
366
367<li>flag nosurvey legs in .3d file
368
369<li>sort out title which goes in .3d file for this (if no *includes in ...
370it gets the title of the leafname of this .svx file, otherwise it's the
371leafnames of the *include-d files, comma-separated):
372
373<pre>
374*begin mycave
375*title "My Cave"
376...
377*end mycave
378</pre>
379
380<li>make img more modular (convert to C++?)
381
382<li>add support for .KST?  Gary says documentation is out of date, and recent
383releases of winkarst have broken .KST export/import...
384
385<li>resolve documentation/examples mismatch for station based .XYZ files and
386implement reading of legs from them.
387
388<li>diffpos: compare connectivity (i.e legs as well as stations) - e.g.
389
390<pre>
391foo.1 moved by (0.02, 0.10, -0.06)
392leg between foo.1 and bar.2 removed
393...
394bar.2 moved by (-0.02, -0.05, 0.03)
395</pre>
396
397<li>improve .plt export to include less crude survey structure.
398
399<li>look at solution by QR factorisation in matrix.c more
400
401<li>consider disabling the more expensive asserts - turning them all off
402speeds up cavern by about 10%.
403</ul>
404
405</BODY></HTML>
Note: See TracBrowser for help on using the repository browser.