= Misc = == v2 internal design == This is a draft document. === Framework === The idea is to entirely build Papywizard as a framework, where different parts are just services, so new features can be added by users, at least to prototype them. It is also better for upgrading only a few parts of the code. ==== Engines ==== The core of Papywizard will be build arround '''engines''', which will be hard-coded. Main engines are: * pano engines * mosaic engine * preset engine * timelapse engine Engines can use other engines (ex: a timelapse pano). ==== Plugins ==== Engines will use some plugins to be able to achieve their purpose. These plugins will be splitted in categories: * axis control - axis can be manual * camera shutter triggering - through hardware, tethered * hardware communication - transport and protocol * timer/intervalometer - or is it timelapse? * display - shooting area, text area, custom * GPS * data storage - file, database, server... * analysis - picture control for automatic bracketing A plugin should be able to : * register itself in the framework according to its interface * add GUI features (display, preferences...) * be dynamically enabled/disabled * check if dependent plugins are available ==== Services ==== Services are low-level features, like logging, persistence, configuration... == GUI == === Wizard === ==== Page 1 ==== ==== Page 2 ==== === Shoot area === * method scan.getNext(index=None); index can be a list * add col/row in image coords (in addition to yaw/pitch), so it will be possible to tell coords in the mosaic * switch to pause mode at the end of shooting ? * add radiobutton to switch from single to multiple positions selection * add buton to generate new xml file (also reset xml when deselect/reselect it) * do no generate preview positions after some number (depending of CPU speed?) * add button to force generation of preview position (at any time) * preview real image area (mapping on a sphere) * use alternates spherical representation (cube, sphere...) === Shooting area color schemes === * '''background''': area color outside of any position * '''preview''': unshoot position color * '''skip''': cunshoot position color which won't be shot * '''ok''': shot position color without error * '''ok-reshoot''': shot position color without error, which will be reshot * '''error''': shot position color with error * '''error-reshoot''':shot position color with error, which will be reshot * '''border''': border color of selected positions positions - all by default * '''border-next''': border color of the next position to shoot * '''border-noselect''': border color of unselected positions - for future zone selection * '''head''': crosshair cursor color for the head position ==== Default ==== [[Image(default-shooting-scheme_pc.png, nolink)]] [[Image(default-shooting-scheme2_pc.png, nolink)]] * '''background''': light grey (d0d0d0) * '''preview''': medium grey (c0c0c0) * '''skip''': dark grey (a0a0a0) * '''ok''': green (00ff00) * '''ok-reshoot''': light green (c0ffc0) * '''error''': red (ff0000) * '''error-reshoot''': light red (ffc0c0) * '''border''': black (000000) * '''border-next''': white (ffffff) * '''border-noselect''': ??? () * '''head''': blue (0000ff)