source: git/doc/TODO.htm @ b0a7c27a

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

Update TODO list

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