source: git/doc/TODO.htm @ df26b81

RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since df26b81 was df26b81, checked in by Olly Betts <olly@…>, 10 years ago

doc/TODO.htm: Remove things which have now been done, and reorganise
the rest.

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