Survex To-Do List

Bugs

  * This gives "*** Singular!!!" warning with DEBUG_INVALID on:
    1 2 50000 0 -
    1 2 5 0 -30
  * aven: locked surveys don't disabled keyboard version of all actions that
    are disabled in the menus...
  * 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.
  * aven: possible mysterious problem with [ and ] not zooming to screen centre
    - not reproducible, probably fixed or just Ol's fevered imagination...
  * img.c: eliminate duplicate img_LABELs when reading .PLT files.

Aven

  * clino needs resistance around 0
  * sort out free rotation mode (e.g. "Plan" doesn't quite work...)
  * by default put crosses on those points with no legs attached (unused fixed
    points)?
  * label junctions/dead ends?
  * colour by traverse
  * section colouring/selective labelling
  * clipping - want to select a clip sphere (or maybe cube) centred on centre
    on rotation I think.
  * colour by cave (and more generally by sub-prefix): "aven --survey 161
    --colour-by-sub-prefix all.3d" would result in lhroute, rhroute, adrian,
    etc all getting different colours...
  * check on monochrome displays - especially that depth colouring looks OK
  * Redraw time should feed back to step size (so small caves on fast puters
    look sane, and so autorotate keeps an even speed when little can be seen
    for part of each rotation)
  * Some way to display all the names of an equated station (e.g. in pop-up
    window or the info panel).
  * Highlight a whole survey by clicking on it in the tree...
  * aven for MSDOS?

Printing

  * Check skip blank pages works (checked printps)...
  * printdm: put standard scaling in print.ini for canon bj (work out what's up
    with vertical size...)

Documentation

  * Platform specific versions of docs?
  * Put more terms in terminology in docs ? trip, instrument, ...
  * Finish off manual loose ends.
  * Look at using docbook2man instead of docbook-to-man (command is nsgmls
    man_aven.sgml | sgmlspl /usr/lib/perl5/sgmlspl-specs/docbook2man-spec.pl)

Survex file format

  * flag legs as "skeletal" or something? (i.e. not in the cave passage) - e.g.
    a radiolocation leg from one passage to another isn't surface, but it isn't
    in the cave itself either (it's through rock). You could just call it
    surface but maybe later we want to use the surface flag to produce points
    for a surface triangulation...
  * ?outlaw prefixes on stations in data legs (as Todd has lobbied for) and
    then the prefix of a leg == prefix of each end...?
  * comma separated dates in *date?
  * Allow "*exportall" or similar? Leandro's point about "maze caves" - just
    saying "don't use *export" is unhelpful if someone connects a cave with *
    export to one without...
  * Find a solution to Thilo's "." problem.
  * LRUD?
  * Backsights and multiple readings

Internationalisation

  * extract help screen from caverot.c for translation
  * quotes in messages - translate too? e.g. `XXX' to  XXX . Eric suggests
    not in French.
  * extract --help messages for translation.

Miscellaneous

  * resolve entries in TODO; resolve FIXMEs in code
  * Default variance for topofil counter? (currently same as that of tape)
  * Rather than forming a linked list of components, solve each as it is
    identified? Beware of issues like those that revcomplist test checks.
  * Don't split other traverses at articulating traverses when reporting error
    stats.
  * test diving data with compass omitted (plumbed)
  * tests for direction - should direction work in non-interleaved data?
  * improve 3d torture test and try to automate its use if possible.
  * caverot: on RISC OS now fall back to using 2 or even just one screen bank
    if we can't find a mode where we can create 3 banks [FIXME: need to test
    this works]
  * Allow extend (or printing of extend) to unfold right-left instead of left
    to right?
  * ISO image? structure debian packages on it as an apt source. autorun for MS
    Windows?
  * control of output units in .err file and in stats at end of cavern run?
  * flag nosurvey legs in .3d file
  * sort out title which goes in .3d file for this (if no *includes in ... it
    gets the title of the leafname of this .svx file, otherwise it's the
    leafnames of the *include-d files, comma-separated):
    *begin mycave
    *title "My Cave"
    ...
    *end mycave
  * make img more modular (convert to C++?)
  * .plt and .xyz in test suite?
  * img.c: test routines in test suite?
  * resolve issues importing .plt from cad3d into Carto. Seems to work fine on
    Linux - Martin reports problems on Microsoft Windows (so much for write
    once, run anywhere).
  * install file associations for .PLT and .XYZ (check: if we install a
    non-default right button menu action, does it become default if there are
    no others?)
  * add support for .KST? Gary says documentation is out of date, and recent
    releases of winkarst have broken .KST export/import...
  * resolve documentation/examples mismatch for station based .XYZ files and
    implement reading of legs from them.
  * diffpos: compare connectivity (i.e legs as well as stations) - e.g.
    foo.1 moved by (0.02, 0.10, -0.06)
    leg between foo.1 and bar.2 removed
    ...
    bar.2 moved by (-0.02, -0.05, 0.03)
  * improve .plt export to include all the N, Z, etc stuff...
  * tidy up documentation of v3 .3d format and put into manual appendix
  * v4 .3d format?
  * MacOS X packaging
  * look at solution by QR factorisation in matrix.c more

