The primary change here is that there's now an option
to skip autofocus if the background detect plugin says
the current image is background.
I have also overhauled the way it picks the next Z position
based on Joe's code; instead of just using the last point, it will
pick the closest point where we have a successful autofocus
recorded. This will usually be the last point, except for raster
scans where it neatly reproduces the behaviour of the old code
but without needing to treat it as a special case (when we jump
back to the start of a line, it will use the z position of the start
of the previous line, rather than the end of the previous line).
This does represent a minor change to previous behaviour, but
it should not break anything that isn't already broken, i.e. it might
cause slightly odd behaviour if autofocus gives random results -
but probably indistinguishable from the current behaviour.
Any action that takes captures ends up with
a log that's full of capture write operations,
because each new capture generates 6-10
messages.
I'm moving said messages to DEBUG because I
don't think they are important any more, and
they do clutter up the log.
I've added a lot more mock imports so the automatic documentation now works.
I've updated the links between pages (removing .rst extension) so they work.
I've added a link to the settings pane image.
A first pass of documentation describing the web app GUI. Screenshots
are committed as LFS objects, I've been deliberately conservative here
(only png files in the docs/ directory are LFSed) to avoid messing
with any static files in the web app.
The code that checked for the presence of the smart stack plugin had a typo,
and would display smart stack controls whenever the stack and scan extension
was detected (whether or not the smart stack extension was enabled).
This is now fixed.
taskSubmitter ended up in a confused state if the initial POST request
encountered an error.
I've updated `startPolling` to return a Promise, and moved the
error handling code to the top level.
This doesn't change anything for the case where we get a non-error
response to the POST request, but means that e.g. 400 errors
get caught and displayed properly.