source: git/doc/TODO.htm @ ce77e4f

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

doc/TODO.htm: Update.

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