WARP reads your Star Trek Online screenshots and fills in your SETS build automatically. WARP CORE lets you review, correct, and confirm what WARP found — and train the ML model to improve future recognition.
- Preparing screenshots
- Using WARP — import a build
- WARP CORE — interface overview
- Reviewing and correcting recognition
- Confirming items and accepting results
- Training the ML model
- Community model sync
- Keyboard shortcuts
- Tips and troubleshooting
WARP reads the standard STO build screens. Open your ship/character loadout in-game and take full-screen screenshots of:
| Screen | Contains |
|---|---|
| Space Equipment | Weapons, shields, engines, deflector, devices, consoles |
| Ground Equipment | Ground weapons, armor, kit, kit modules, devices |
| Space Traits | Personal space traits, starship traits, reputation traits |
| Ground Traits | Personal ground traits, reputation traits |
| Bridge Officers | Boff seats and abilities (space or ground) |
| Specializations | Primary and secondary specialization trees |
Screenshot tip: Use the default STO screenshot key (default: Print Screen) to save full-resolution screenshots. Cropped or resized images may reduce recognition accuracy.
One build per folder. Each folder is one import session. You can mix screen types freely:
- Separate screens — one screenshot per game tab. WARP identifies each screen type automatically.
- Mixed screen — a single screenshot that combines multiple tabs (assembled view). WARP detects the layout automatically.
- Partial — only some screens (e.g. equipment only, or traits only). Slots for missing screens are left empty.
my_build/
space_equipment.jpg
space_traits.jpg
boffs.jpg
ground_equipment.jpg
Click the WARP button in the SETS menu bar (next to Export and Settings).
In the WARP dialog, click Select folder and navigate to the folder containing your screenshots. The folder path appears in the field below the button.
Use the Build type selector to match the SETS tab you want to fill:
| Build type | Fills |
|---|---|
| Space Build | Space equipment, consoles, boffs, space traits |
| Ground Build | Ground equipment, boffs, ground traits |
| Space Skills | Space skill tree point allocation |
| Ground Skills | Ground skill tree point allocation |
Choose the type that matches the screenshots you took. One import fills one tab.
Click Import. WARP processes each screenshot:
- Classifies the screen type (Equipment / Traits / Boffs / etc.)
- Detects the ship name, tier, and type from OCR (space screens)
- Reads slot layout from pixel analysis and the ship database
- Matches each slot's icon against the community and local model
- Fills matching equipment/traits/boffs into your SETS build
A progress bar shows the current step. Recognition typically takes 5–30 seconds depending on the number of screenshots and your hardware.
After import, a Results summary shows:
- Ship detected (with tier)
- Slots filled vs total
- Average recognition confidence
- Items that need manual review (low confidence)
Items with confidence below the threshold are flagged. Click Open WARP CORE to review and correct them.
WARP CORE opens as a separate window with three panels.
+------------------+------------------------------+----------------------+
| LEFT PANEL | CENTER PANEL | RIGHT PANEL |
| | | |
| Screenshots | [canvas / screenshot] | Recognition Review |
| ---------- | | ---------- |
| screen1.png [ok]| (zoom with Ctrl+wheel) | Slot: Fore Weapon 1 |
| screen2.png [?] | (bboxes drawn on items) | Item: Phaser Array |
| screen3.png [ ] | | Conf: 94% [green] |
| | | |
| [progress bar] | +------------------------+ | Slot: Console Sci 1 |
| 3/6 confirmed | | Slot: [combo box ] | | Item: ??? [red] |
| | | Item: [name field ] | | Conf: 31% |
| | | [ Accept (Enter) ] | | |
| | +------------------------+ | [+ Add BBox] [- Rm] |
| | | [x] Auto >= [0.75] |
| | | [ Accept (Enter) ] |
+------------------+------------------------------+----------------------+
| Button | Action |
|---|---|
| Detect Screen Types | Classifies every screenshot in the folder using the MobileNetV3-Small screen classifier (Equipment / Traits / Boffs / Specializations / Mixed). Runs automatically when you open a folder — use the button to re-run it manually if you rename or replace files. Files you have already confirmed with a checkmark are skipped. |
| Auto-Detect Slots | Re-runs the full recognition pipeline on the currently selected screenshot. Items you have already confirmed are preserved and used as seeds for icon matching — only unconfirmed slots are re-processed. Use this after correcting a few items to let WARP retry the remaining ones with better context. |
Lists every screenshot file in the folder. Each entry shows the detected screen type (e.g. Space Equipment, Traits, Boffs) and a checkbox:
- Checked (✓) — screen type confirmed by you; Detect Screen Types will not overwrite it
- Unchecked — screen type was auto-detected and is still tentative; may be updated on re-detect
How to confirm a screen type:
- Tick the checkbox manually next to the filename — confirms whatever type is currently shown.
- Change the type via the Screen Type dropdown (top of the center panel) — the correct type is set and the checkbox is ticked automatically.
Auto-detected types start unchecked. If the classifier guesses wrong, change the type in the dropdown and it will be confirmed immediately. Un-ticking a checkbox removes the manual override so the classifier can re-classify that file next time.
Click a filename to load it into the canvas.
| Colour | Meaning |
|---|---|
| White | No annotations yet |
| Light blue | Has annotations — in progress |
| Green | Marked Done — fully annotated and locked |
When you have finished annotating all items on a screenshot, click ✓ Mark Done (below the progress bar) or press Alt+D. This:
- Locks the screenshot — no new bounding boxes can be added
- Saves the confirmed slot layout to the local layout database (used to improve auto-detection on similar screenshots)
- Colours the entry green in the list
If you need to make changes, click ↩ Back to Edit (same button) or press Alt+D again to unlock it.
Displays the current screenshot with coloured bounding boxes drawn over each detected item slot:
| Box colour | Meaning |
|---|---|
| Red | Pending — not yet reviewed / confirmed |
| Green | Confirmed (accepted by user) |
| Cyan | Text slot (Ship Name / Ship Type / Ship Tier) — read by OCR, no icon matching |
| Yellow | Bbox currently being drawn (Alt+LMB drag) |
Cyan bboxes are special — they are not matched against the item database. Instead, the text inside them is read by OCR and used to identify the ship and its tier. They behave differently from equipment bboxes:
- No confidence score — there is no "correct/incorrect" percentage; the OCR result is shown as the item name.
- No autocomplete — type the text as it appears in the screenshot if you need to correct it.
- No duplicate warning — Ship Type and Ship Tier bboxes are allowed to overlap each other (see below).
In STO screenshots the ship type label (e.g. "Fleet Temporal Science Vessel") and the tier label (e.g. "T6-X") appear close together and sometimes on adjacent lines.
When drawing these bboxes manually:
- Ship Type — draw the bbox over the full ship type text, even if it spans two lines. A two-line Ship Type bbox will physically overlap with the Ship Tier bbox. This overlap is intentional and expected — the duplicate warning does not trigger for cyan text slots.
- Ship Tier — draw a separate, smaller bbox that covers only the tier token (e.g. just the
T6-Xfragment). Do not include the ship type text in this bbox.
Example:
┌─────────────────────────────────────┐ ← Ship Type bbox (full 2 lines)
│ Fleet Temporal Science Vessel │
│ T6-X ┌───────┐ │ ← Ship Tier bbox (tier token only)
└────────────────────────┤ T6-X ├───┘
└───────┘
If both bboxes are confirmed correctly, WARP will extract the ship class from Ship Type and the upgrade tier from Ship Tier independently.
| Action | How |
|---|---|
| Zoom in / out | Ctrl + scroll wheel (1× – 6×, anchored to cursor) |
| Select a box | Left click on the box — highlights it in the review list |
| Draw new box | Alt + LMB drag — hold Alt, click and drag over an item icon |
| Draw mode toggle | Alt+A button in the right panel — cursor stays as crosshair until toggled off |
Below the canvas is the Annotate panel:
- Slot — dropdown to select the slot type for the current box
- Item — text field with autocomplete; type the item name
- Accept — confirms the item (also triggered by Enter)
Lists all items detected in the current screenshot, one row per slot. Each row shows:
- Slot name (e.g. "Fore Weapon 3")
- Recognised item name (or "???" if not matched)
- Confidence percentage, colour-coded:
- Green ≥ 75% — confident match
- Yellow 40–74% — uncertain, review recommended
- Red < 40% — poor match, manual correction needed
At the bottom:
- Add BBox — enter draw mode to add a missing box (Alt+A)
- Remove — delete the selected box (Alt+R or Del)
- Auto ≥ [threshold] — automatically accept items above the threshold; adjust the spinner to change it (default 0.75)
- Open WARP CORE (from the WARP results dialog, or click the WARP CORE button in the menu bar).
- Select the first screenshot in the left panel.
- Look at the review list on the right — items are sorted by confidence (low first).
- Click a red or yellow item to select it. The canvas highlights the corresponding box.
- Check whether the recognised item is correct:
- Correct → press Enter or click Accept to confirm.
- Wrong → type the correct name in the Item field, then press Enter to confirm.
- Box in wrong position → remove the box (Del) and draw a new one with Alt+drag.
- Move through all items, then click the next screenshot in the left panel.
The Item field has autocomplete — start typing the item name and a dropdown shows matches from the STO item database. Select with arrow keys or mouse.
If the correct item is not in the autocomplete list, type the full name manually. It will still be saved as training data for that icon.
Tip: You don't have to correct every item. Focus on red (< 40%) and yellow items. Green items (≥ 75%) are usually correct — Auto-accept handles these automatically if enabled.
If WARP missed a slot entirely (no box drawn over an item):
- Hold Alt and drag directly on the canvas — or click Add BBox / press Alt+A to lock draw mode on.
- The cursor changes to a gold crosshair.
- Drag over the item icon to draw a box.
- The box is recognised immediately. Correct the name if needed, then Accept.
Bridge officer seats sometimes contain slots that are visually empty (nothing assigned yet) or inactive (locked/unavailable at this rank). Annotating these helps WARP correctly position recognised abilities even when some slots are unoccupied.
How to annotate:
- Draw a bounding box over the empty or inactive slot icon as you would for a normal ability.
- In the Item field, type
__empty__(for an unoccupied slot) or__inactive__(for a locked/unavailable slot). - Press Enter to confirm.
The review list shows these with grey labels [empty slot] / [inactive slot]. They write nothing to your SETS build but are uploaded to the community dataset so the model learns to recognise these slot states.
Why bother? WARP uses the position of all detected icons — including empty and inactive ones — to determine which ability belongs in which seat slot. Annotating gaps makes the positioning more accurate, especially for Commander seats (4 slots) where only 1–2 abilities are present.
If a box covers the wrong area or a non-slot area:
- Click the box on the canvas (or the item in the review list) to select it.
- Press Del or Backspace, or click Remove.
With an item selected:
- Press Enter, or
- Click Accept in the right panel or bottom panel.
A confirmed item turns green in the review list and on the canvas.
Enable the Auto ≥ checkbox to automatically accept items above the confidence threshold without pressing Enter for each one. The threshold spinner sets the cutoff (default 0.75 = 75%).
Auto-accept applies:
- When a screenshot is loaded (immediately marks high-confidence items)
- After drawing a new bounding box
- After running Auto-Detect
The checkbox state and threshold value are saved across sessions (per user).
Choosing an item from the autocomplete dropdown confirms it immediately — no Enter needed. This is the fastest way to correct a wrong item: type a few letters, pick from the list, done.
If you confirm an item into a slot that already has a confirmed item at the same position (>70% overlap), WARP CORE shows a warning. This prevents accidentally confirming the same physical slot twice.
WARP uses a central EfficientNet-B0 icon classifier trained on crops contributed by all users. There is no local training — the model is trained once per hour by the community pipeline and automatically downloaded to your installation.
Every time you confirm an item annotation in WARP CORE, the icon crop is queued for upload to
HuggingFace (sets-sto/sto-icon-dataset). The upload happens automatically in the background
every 5 minutes when a HuggingFace token is configured.
What is sent: Only the icon crop image (small PNG, ~64×64 px) and its label (item name + slot type). No screenshots, no ship names, no personal data.
A new model is trained hourly on GitHub Actions using all community crops. Your installation
checks for updates every 15 minutes (while WARP CORE is open) and downloads the new
icon_classifier.pt automatically if a newer version is available.
| File | Source | Update interval |
|---|---|---|
warp/models/icon_classifier.pt |
Community pipeline (HuggingFace) | Every 15 min check |
warp/models/screen_classifier.pt |
Community pipeline (HuggingFace) | Every 15 min check |
- The icon crop image (small PNG, ~64×64 px) — just the item icon, cropped from your screenshot
- The item name and slot type you confirmed
- An anonymous installation ID (random UUID, generated at first launch, stored locally)
No username, account information, full screenshots, or ship names are ever transmitted.
If you draw a bbox over the ship name text in WARP CORE, the position (coordinates) is saved
locally in annotations.json for layout learning. The text content is never saved as a crop
and never uploaded — ship names are treated as personal data.
| Shortcut | Action |
|---|---|
| Enter | Accept current item |
| Del / Backspace | Remove selected bounding box |
| Alt + A | Toggle Add BBox draw mode |
| Alt + D | Toggle Mark Done / Back to Edit |
| Alt + R | Remove selected bounding box |
| Alt + LMB drag | Draw new bounding box directly |
| Ctrl + Wheel | Zoom canvas in/out (1× – 6×, anchored to cursor) |
| Colour | Meaning |
|---|---|
| Green | Confirmed (accepted) |
| Gold/yellow | Pending (awaiting review) |
| Grey | Skipped or low-confidence |
| Red | Error / removed |
- Make sure at least one Space Equipment screenshot is included (ship name and type are read from the equipment screen).
- The ship name must be visible at the top of the screen in the screenshot.
- If OCR fails, WARP falls back to a keyword-based match using the slots it finds. Check the log for the detected ship name.
After import, the ship dropdown in SETS shows what WARP detected. Click the dropdown and select the correct ship manually. The slot layout will update automatically.
On a fresh install, WARP uses the community model. If you have unusual items, high-resolution screenshots, or a non-standard UI scale, accuracy may be lower initially. Run a few imports and confirm the results in WARP CORE — your confirmed crops are uploaded to the community dataset, and the model improves as more users contribute.
Items shown as "???" have a confidence below the minimum threshold (40%). They were not matched to any known item. To fix:
- Open WARP CORE.
- Find the ??? item in the review list (shown in red).
- Type the correct item name in the Item field.
- Accept.
- Repeat for all ??? items — confirmed crops will be uploaded automatically and help improve future recognition.
First import after a fresh install may take 30–60 seconds because EasyOCR initialises its language model. Subsequent imports are faster (model stays in memory while SETS-WARP is open).
On CPU-only hardware, the ML inference step adds 2–5 seconds per screenshot. This is normal.
This appears when two confirmed items overlap by more than 70% in the same screenshot. Usually this means you accidentally drew a bbox over an area that already has a confirmed item. Remove the duplicate using Del and re-confirm if needed.
- Make sure you have confirmed items from multiple different screenshots, not just one.
- If you only have a handful of unique items, accuracy metrics may fluctuate — this is normal with small datasets.
- More data always helps. Confirm items from 5–10 screenshots before training for the best results.
WARP is only available in SETS + WARP installations. If you chose SETS only during setup, the WARP button is not present. To add WARP:
- Delete
.config/install_mode.txtin the SETS-WARP folder. - Relaunch — the setup window will appear and let you choose SETS + WARP.
- The additional ~2 GB of dependencies will be downloaded automatically.