source: git/trunk/doc/TODO.htm @ 7bb8184

Last change on this file since 7bb8184 was 7bb8184, checked in by Olly Betts <olly@…>, 13 years ago

Retagging 1.2.0

git-svn-id: file:///home/survex-svn/survex/tags/1.2.0@3664 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

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