<table><tr><td style="">TallFurryMan edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-idlja44xdy63s7y/">(Show Details)</a>
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D16429">View Revision</a></tr></table><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;">[<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">WIP on differential description - will update documentation and describe tests - meanwhile</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">WIP]<br />
<br />
This is a full rewrite and verification of all steps of evaluation of a list of scheduler jobs with the following existing constraints:<br />
- Dark sky, which schedules a job to the next astronomical dusk/dawn interval.<br />
- Minimal altitude, which schedules a job up to 24 hours away to the next date and time its target is high enough in the sky.<br />
- Moon separation, combined with altitude constraint, which allows a job to schedule if its target is far enough from the Moon.<br />
- Fixed startup date and time, which schedules a job at a specific date and time.<br />
- Culmination offset, which schedules a job to start up to 24 hours away to the next date and time its target is at culmination, adjusted by an offset.<br />
- Amount of repetitions, eventually infinite, which allows a job imaging procedure to repeat multiple times or indefinitely.<br />
- Fixed completion date and time, which terminates a job at a specific date and time.<br />
<br />
The UI now displays target altitudes at the current simulation time, and at startup and completion times. It also displays the lead time or gap time between jobs to help with imaging time optimization. Warnings appear in some situations for the user to detect problematic situations, such as a job completing under the minimal altitude.<br />
<br />
The rewrite starts by estimating the imaging duration of each job, and eventually reorders them based on option "Sort Jobs by Altitude and Priority".<br />
The reordering algorithm sorts jobs by altitude, considering a setting target is higher than a rising target.<br />
When the option is enabled, targets will be automatically sorted whenever jobs are evaluated, using the current simulation time for altitude calculations.<br />
When the option is not enabled, a button is available to reorder jobs manually</span>, <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">please start testing]</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">using the first job startup time for altitude calculation.<br />
This reordering helps to optimize imaging time when preparing a schedule with multiple targets.</span><br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">The rewrites then proceeds to sequence jobs based on their order in the list, resolving each constraint one after the other.<br />
The sequencing algorithm makes sure there is a minimal gap between jobs, as set in option "Lead Time".<br />
Note that when executing, Scheduler will immediately start a job planned away from current simulation time by an offset smaller than that lead time.<br />
The sequencing algorithm will attempt to resolve all constraints ten times before considering those can't be achieved.<br />
There is no limit to the number of jobs that can be inserted in the queue, but the bounded number of attempts effectively poses a restriction to automated scheduling.<br />
</span></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R321 KStars</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D16429">https://phabricator.kde.org/D16429</a></div></div><br /><div><strong>To: </strong>TallFurryMan, mutlaqja, wreissenberger<br /><strong>Cc: </strong>yurchor, kde-edu, narvaez, apol<br /></div>