source: git/doc/TODO.htm @ d682f03

stereo-2025warn-only-for-hanging-survey
Last change on this file since d682f03 was a3594e0, checked in by Olly Betts <olly@…>, 13 months ago

img: Fix coordinate conversion loading CMAP data

The coordinates in CMAP data are in feet but we were dividing rather
than multiplying by the conversion factor to get metres so all
coordinates were about 10.76 times too large.

  • Property mode set to 100644
File size: 8.9 KB
RevLine 
[0e26b3a]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
[df26b81]10<H2>3d format</H2>
[f39a2e8]11
[df26b81]12<ul>
[f39a2e8]13
[df26b81]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!
[f39a2e8]16
[df26b81]17<li>store equated stations in some way
[f39a2e8]18
[df26b81]19<li>store legs by end stations rather than repeating coordinates over and
20over?
[ac3f376]21
[df26b81]22</ul>
[f39a2e8]23
[df26b81]24<H2>Aven</H2>
[ac3f376]25
[df26b81]26<ul>
[f39a2e8]27
[df26b81]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.
[f39a2e8]29
[df26b81]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).
[f39a2e8]32
[df26b81]33<li>Fix depth clipping on grid
[f39a2e8]34
[ac3f376]35<li>Does anyone use Controls-&gt;"Reverse Sense"?  It made some sense with
36caverot but now seeing the mouse pointer makes people expect the default
37motions (for right button drag particularly).
[f39a2e8]38
[ce77e4f]39<li>Clean up export.cc and allow line width, etc to be specified
[f39a2e8]40
41<li>Better handling of missing LRUD values
42
43<li>Smooth wrinkles in presentation code (stop pres on Open or
44New, changing focus on listctrl as presentation plays doesn't really work
45properly)
46
47<li>Draw the measuring line directly onto the front buffer, so we can remove it
48with a copy from the back buffer and redraw it in the new position without a
49re-render.
50
51<li>Process all pending input before rerendering to improve responsiveness.
52
53<li>Check timing code - we need to glFinish to ensure it's all drawn, and that
54may be needed to get meaningful timing info.
55
[c1002b8]56<li>Allow control of colours in "colour by survey"; allow controlling what level
57colours are applied at e.g. colour by cave (and more generally by sub-prefix)
[f39a2e8]58
59<li>Implement "Skip blank pages" in aven printing
60
61<li>different keyboard layouts mean that some key choices don't make much sense...
62
[549eb37]63<li>File-&gt;Extended Elevation - provide a way to specify a spec file?  Or
64better a UI to control the extending.
[f39a2e8]65
66<li>Optional lazy label redraw during drags?  Or turn on at some redraw time
67threshold...
68
69<li>Some way to view older/newer version of survey
70
71<li>Label lengths aren't considered when working out image size when
72printing so a long label can spill off the edge of the printout
73
[df26b81]74<li>print to an image file?
[f39a2e8]75
76<li>grid on printouts
77<ul>
78<li>grid crosses option (only draw cross at intersections, not a full grid).
79<li>[(x,y) of a point to go through (easting, northing)
80<li>x spacing, y spacing (default to x spacing)
81<li>orientation (bearing of y-axis?) (defaults to 0)]
82</ul>
83
84<li>Profile aven further (for both speed and memory usage)
85
86<li>by default put crosses on those points with no legs attached (unused
87fixed points)?
88
89<li>label junctions/dead ends?
90
91<li>section colouring/selective labelling
92
93<li>clipping - want to select a clip sphere (or maybe cube) centred on
94centre on rotation I think.
95
96<li>Some way to display all the names of an equated station (e.g. in pop-up
97window or the info panel).
[e03199f]98
[27b8b59]99<li>check on monochrome, 16, and 256 colour displays - especially that depth
100colouring looks OK
[0e26b3a]101
[a8e9fde]102<li>Feed back redraw time to key based movement as in caverot?  Or perhaps best
103not to?  It depends on whether we expect people to hold down keys or not...
104Perhaps something smart where the first press is a fixed size, then after that
105it depends on the redraw?
[df26b81]106
107<li>improve .plt export to include less crude survey structure.
108
109<li>If multiple methods for drawing crosses and/or blobs pass the
110visual fidelity check, check which is fastest.
111
112<li>Lots of aven things need documenting.
113
[0e26b3a]114</ul>
115
116<H2>Documentation</H2>
117
118<ul>
119
120<li>Platform specific versions of docs?
121
122<li>Put more terms in terminology in docs ? trip, instrument, ...
123
[2e53e55]124<li>Finish off manual loose ends.
125
[df26b81]126<li>Look at rewording extend.sgml (AndyA comments)
[b462168]127
[0e26b3a]128</ul>
129
[65ad692]130<H2>Internationalisation and Localisation</H2>
[0e26b3a]131
132<ul>
133
[df26b81]134<li>Update translations.
[0e26b3a]135
[85c0078]136<li>length units in .err file?
[65ad692]137
138</ul>
139
140<H2>Test Suite</H2>
141
142<ul>
143
144<li>test diving data with compass omitted (plumbed)
145
146<li>more tests for direction
147
148<li>improve 3d torture test and try to automate its use if possible.
149
[0e26b3a]150</ul>
151
152<H2>Miscellaneous</H2>
153
154<ul>
155
[ac3f376]156<li>resolve FIXMEs in code
[0e26b3a]157
[df26b81]158<li>diffpos: compare connectivity (i.e legs as well as stations) - e.g.
159
160<pre>
161foo.1 moved by (0.02, 0.10, -0.06)
162leg between foo.1 and bar.2 removed
163...
164bar.2 moved by (-0.02, -0.05, 0.03)
165</pre>
166
167</ul>
168
169<H2>Cavern</H2>
170
171<ul>
172
173<li>This gives "*** Singular!!!" warning with DEBUG_INVALID on:
174<pre>
1751 2 50000 0 -
1761 2 5 0 -30
177</pre>
178
[0e26b3a]179<li>Default variance for topofil counter? (currently same as that of tape)
180
181<li>Rather than forming a linked list of components, solve each as it is
182identified?  Beware of issues like those that revcomplist test checks.
183
184<li>Don't split other traverses at articulating traverses when reporting error
185stats.
186
[4c5c5f3]187<li>sort out title which goes in .3d file for this (if no *includes in ...
188it gets the title of the leafname of this .svx file, otherwise it's the
189leafnames of the *include-d files, comma-separated):
190
191<pre>
192*begin mycave
193*title "My Cave"
194...
195*end mycave
196</pre>
[3ede867]197
[df26b81]198<li>look at solution by QR factorisation in matrix.c more
[3ede867]199
[df26b81]200<li>consider disabling the more expensive asserts - turning them all off
201speeds up cavern by about 10%.
[3ede867]202
[df26b81]203<li>
204Warn bearings not 3 digits, gradient not &lt;sign&gt;&lt;digit&gt;&lt;digit&gt;
[3ede867]205
[df26b81]206<li>Sort out gross error detection code
207
[485dce9]208<li>For warnings such as "Negative adjusted tape reading" report the
209value of the adjusted tape reading (currently we just highlight the
210reading as it appears in the Survex file).
[df26b81]211
212<li>legs: implied flags: inloop/plumb
213
214<li>legs: "dubious" for "tapeless" legs - bearing along continuation...
[3ede867]215
[df26b81]216<li>station flags: "important" - e.g. top camp "fixed" point /
217junction,deadend (implied by order) /
218articulation pt (know for nodes I think a station is if at least one
219of its nodes is)
220
221<li>Maybe station lists should know how long they are?
222
223<li>Articulation point code: ideally the articulation point code should allow
224further network reductions to happen after splitting at articulation
225points?
226
227</ul>
228
229<H2>Survex file format</H2>
230
231<ul>
232
233<li>*data chamber ...
234
235<li>*data nsew ... for pitches (bearings rather than having to be NSEW)
236
237<li>Allow angles as deg/min/sec (for theodolite data) (060&deg;10'15" as 060 10
23815, or 060.1005 (crap notation))
239
240<li>should % after a clino reading work?
241
242<li>Fixing a point by triangulation?
243
244<li>multiple readings:
245<p>
246average bearings specially - they don't average like normal numbers
247<p>
248%age gradients should probably average the same as angle gradients
249<p>
250Document - works like so:
[3ede867]251<pre>
[df26b81]252*set open {
253*set close }
254*calibrate compass {000.5 001.0 001.25}
2551 2 10.23 {000 001} -02
2562 3 {10.16 10.17} 127 {+06 +05}
2573 4 11.98 007 {+03 +03}
[3ede867]258</pre>
[df26b81]259Implement as extension to number format so any suitable numeric value to be
260repeated?
261<li>Theodolite + level:
262<ul>
263  <li>delta(bearing (relative to 0 at start)
264  <li>delta(horizontal)
265  <li>delta(vertical) / maybe "clino" instead
266</ul>
[3ede867]267
[df26b81]268<li>Theodolite only:
269<ul>
270  <li>delta(bearing (relative to 0 at start)
271  <li>delta(horizontal)
272  <li>infinite sd for z
273</ul>
[3ede867]274
[df26b81]275<li>Infinite sds so we can fix in x and y only (or z only)?
[7c663ef]276
[df26b81]277<li>legs: "commented out" flag?  syntax check data but otherwise ignore
[6cd4aab]278
[df26b81]279<li>legs: hydrology - fossil/active/not recorded/static water/underwater
280(sump) [diving underwater by default? except style can mean altimeter
281too...]
282
283<li>legs: floor type - mud/sand/breakdown/flowstone/etc and can then used
284LRUD to draw crude survey...
285
286<li>Allow valid range for an instrument to be specified.  Tie in with
287*instrument.  *units date - ranges for dates - e.g. "1990-" or
288"jun-aug"...
289
290<li>cope with any combination of readings which gives enough info ???
291
292<li>leg and station "comments":
293
294<pre>*data passage station left right up down comment
295
2961 1.0 - 50+ 0.5 "large cairn"
297
2982 ...
299
300*data normal station l r u d comment newline tape compass clino
301
3021 1.0 - 50+ 0.5 "large cairn"
303
304  10.78 123 -03
305
3062 ...
307</pre>
308
309comment can be omitted "-" or not present if at end of line...?
310commentall?
311
312<li>Allow covariances to be specified in cartesian style?
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>img library</H2>
332
333<ul>
334
335<li>make img more modular (convert to C++?)
336
337<li>add support for .KST?  Gary says documentation is out of date, and recent
338releases of winkarst have broken .KST export/import...
339
340<li>resolve documentation/examples mismatch for station based XYZ files and
341implement reading of legs from them.
[a775268]342
[0e26b3a]343</ul>
344
345</BODY></HTML>
Note: See TracBrowser for help on using the repository browser.