source: git/doc/TODO.htm @ 200a12c

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

doc/TODO.htm: Update.

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