<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>AIGuideWizard</class>
 <widget class="QWizard" name="AIGuideWizard">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>640</width>
    <height>480</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Ekos Guide AI Assistant (Experimental)</string>
  </property>
  <property name="wizardStyle">
   <enum>QWizard::ModernStyle</enum>
  </property>
  <widget class="QWizardPage" name="wizardPage1">
   <property name="title">
    <string>Mount Identification</string>
   </property>
   <property name="subTitle">
    <string>Welcome to the Ekos AI Guiding Assistant. Please verify your mount type below.</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_1">
    <item>
     <widget class="QLabel" name="experimentalWarningLabel">
      <property name="text">
       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#ff5500; font-weight:600;&quot;&gt;This is an experimental feature. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
      </property>
      <property name="wordWrap">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout_1">
      <item>
       <widget class="QLabel" name="label">
        <property name="text">
         <string>Detected Mount Type:</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QComboBox" name="mountTypeCombo">
        <item>
         <property name="text">
          <string>Worm Gear</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Harmonic Drive</string>
         </property>
        </item>
        <item>
         <property name="text">
          <string>Direct Drive</string>
         </property>
        </item>
       </widget>
      </item>
      <item>
       <spacer name="horizontalSpacer_1">
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
       </spacer>
      </item>
     </layout>
    </item>
    <item>
     <widget class="QLabel" name="exposureLabel">
      <property name="text">
       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Recommended Settings (set BEFORE running):&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Worm Gear:&lt;/span&gt; exposure 2.0s (Default)&lt;/li&gt;&lt;li&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Harmonic Drive:&lt;/span&gt; exposure 0.5 to 1.0s (depends on guide star SNR)&lt;/li&gt;&lt;li&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Direct Drive:&lt;/span&gt; exposure 1.0s to 3.0s&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Define an &lt;span style=&quot; font-weight:600;&quot;&gt;Artificial Horizon&lt;/span&gt; (Settings → Artificial Horizon) before running — the protocol slews by Alt/Az and uses it to pick safe targets.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
      </property>
      <property name="wordWrap">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QLabel" name="lockedSettingsLabel">
      <property name="text">
       <string/>
      </property>
      <property name="wordWrap">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item>
     <spacer name="verticalSpacer_1">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
     </spacer>
    </item>
   </layout>
  </widget>
  <widget class="QWizardPage" name="wizardPage2">
   <property name="title">
    <string>Protocol Preview</string>
   </property>
   <property name="subTitle">
    <string>The assistant will perform the following steps to characterize the tracking errors.</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_2">
    <item>
     <widget class="QLabel" name="algorithmWarningLabel">
      <property name="text">
       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#ff5500;&quot;&gt;The Guide AI Assistant requires the Standard guiding algorithm for both axes during data collection. Your current settings will be temporarily changed to Standard for the duration of the wizard and restored when it completes.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
      </property>
      <property name="wordWrap">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QStackedWidget" name="protocolStackedWidget">
      <property name="currentIndex">
       <number>0</number>
      </property>
      <widget class="QWidget" name="pageWormGear">
       <layout class="QVBoxLayout" name="verticalLayout_WormGear">
        <property name="leftMargin">
         <number>0</number>
        </property>
        <property name="rightMargin">
         <number>0</number>
        </property>
        <item>
         <widget class="QLabel" name="labelWormGear">
          <property name="text">
           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Worm Gear Protocol (~65 mins):&lt;/span&gt;&lt;br/&gt;1. Slew to High Altitude : Standard guiding, free drift, then PID auto-tune (step response).&lt;br/&gt;2. Slew to Lower Altitude : Standard guiding, then free drift.&lt;br/&gt;3. Slew to High Altitude : Standard guiding, then free drift.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
          </property>
          <property name="wordWrap">
           <bool>true</bool>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="pageHarmonic">
       <layout class="QVBoxLayout" name="verticalLayout_Harmonic">
        <property name="leftMargin">
         <number>0</number>
        </property>
        <property name="rightMargin">
         <number>0</number>
        </property>
        <item>
         <widget class="QLabel" name="labelHarmonic">
          <property name="text">
           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Harmonic Drive Protocol (~60 mins):&lt;/span&gt;&lt;br/&gt;1. Slew to High Altitude: Standard guiding, free drift, then PID auto-tune (step response).&lt;br/&gt;2. Slew to Lower Altitude: Free drift, then standard guiding.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
          </property>
          <property name="wordWrap">
           <bool>true</bool>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="pageDirectDrive">
       <layout class="QVBoxLayout" name="verticalLayout_DirectDrive">
        <property name="leftMargin">
         <number>0</number>
        </property>
        <property name="rightMargin">
         <number>0</number>
        </property>
        <item>
         <widget class="QLabel" name="labelDirectDrive">
          <property name="text">
           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Direct Drive Protocol (~30 mins):&lt;/span&gt;&lt;br/&gt;1. Slew to High Altitude: Standard guiding, free drift, then PID auto-tune (step response).&lt;br/&gt;2. Slew to Mid Altitude: Standard guiding, then free drift.&lt;br/&gt;3. Slew to Low Altitude: Standard guiding, then free drift.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
          </property>
          <property name="wordWrap">
           <bool>true</bool>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </item>

    <item>
     <widget class="Line" name="line">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
     </widget>
    </item>

    <item>
     <spacer name="verticalSpacer_2">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
     </spacer>
    </item>
   </layout>
  </widget>
  <widget class="QWizardPage" name="wizardPage3">
   <property name="title">
    <string>System Identification Progress</string>
   </property>
   <property name="subTitle">
    <string>Collecting mount telemetry. Please do not interrupt the process unless necessary.</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QLabel" name="statusLabel">
      <property name="text">
       <string>Ready to begin...</string>
      </property>
     </widget>
    </item>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout_progress">
      <item>
       <widget class="QProgressBar" name="progressBar">
        <property name="value">
         <number>0</number>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="stopButton">
        <property name="text">
         <string>Stop</string>
        </property>
        <property name="icon">
         <iconset theme="process-stop"/>
        </property>
       </widget>
      </item>
     </layout>
    </item>
    <item>
     <widget class="QTextEdit" name="logTextEdit">
      <property name="readOnly">
       <bool>true</bool>
      </property>
      <property name="html">
       <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Waiting to start...&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QWizardPage" name="wizardPage4">
   <property name="title">
    <string>Data Collection Complete</string>
   </property>
   <property name="subTitle">
    <string>System identification data has been saved. Please choose a training method.</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_4">
    <item>
     <spacer name="verticalSpacer_top">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
     </spacer>
    </item>
    <item>
     <widget class="QPushButton" name="exportOfflineButton">
      <property name="text">
       <string>Export for offline training</string>
      </property>
      <property name="toolTip">
       <string>Saves the system identification data to a JSON file so you can train the AI model on your local computer using the provided Python scripts.</string>
      </property>
      <property name="icon">
       <iconset theme="document-export"/>
      </property>
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>40</height>
       </size>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="trainEkosLiveButton">
      <property name="text">
       <string>Train in EkosLive</string>
      </property>
      <property name="toolTip">
       <string>Uploads anonymized data to EkosLive Cloud to instantly train your model using community baselines. (Target coordinates are stripped).</string>
      </property>
      <property name="icon">
       <iconset theme="network-cloud"/>
      </property>
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>40</height>
       </size>
      </property>
     </widget>
    </item>
    <item>
     <widget class="QPushButton" name="offlineDocsButton">
      <property name="text">
       <string>Offline Training Guide</string>
      </property>
      <property name="toolTip">
       <string>Open the KStars documentation on training the model offline.</string>
      </property>
      <property name="icon">
       <iconset theme="help-contents"/>
      </property>
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>40</height>
       </size>
      </property>
     </widget>
    </item>
    <item>
     <spacer name="verticalSpacer_bottom">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
     </spacer>
    </item>
   </layout>
  </widget>
 </widget>
 <resources/>
 <connections>
  <connection>
   <sender>mountTypeCombo</sender>
   <signal>currentIndexChanged(int)</signal>
   <receiver>protocolStackedWidget</receiver>
   <slot>setCurrentIndex(int)</slot>
   <hints>
    <hint type="sourcelabel">
     <x>0</x>
     <y>0</y>
    </hint>
    <hint type="destinationlabel">
     <x>0</x>
     <y>0</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>
