# User Guide: Usage - Graphical User Interface (GUI) This document explains how to use the Asset Processor Tool's Graphical User Interface. ## Running the GUI From the project root directory, run the following command: ```bash python -m gui.main_window ``` ## Interface Overview * **Menu Bar:** The "Edit" menu contains the "Preferences..." option to open the GUI Configuration Editor. The "View" menu allows you to toggle the visibility of the Log Console and the Detailed File Preview. * **Preset Editor Panel (Left):** * **Optional Log Console:** Displays application logs (toggle via View menu). * **Preset List:** Create, delete, load, edit, and save presets. On startup, the "-- Select a Preset --" item is explicitly selected. You must select a specific preset from this list to load it into the editor below, enable the detailed file preview, and enable the "Start Processing" button. * **Preset Editor Tabs:** Edit the details of the selected preset. * **Processing Panel (Right):** * **Preset Selector:** Choose the preset to use for *processing* the current queue. This dropdown now includes a new option: "- LLM Interpretation -". Selecting this option will use the experimental LLM Predictor instead of the traditional rule-based prediction system defined in presets. * **Output Directory:** Set the output path (defaults to `config/app_settings.json`, use "Browse...") * **Drag and Drop Area:** Add asset `.zip`, `.rar`, `.7z` files, or folders by dragging and dropping them here. * **Preview Table:** Shows queued assets in a hierarchical view (Source -> Asset -> File). Initially, this area displays a message prompting you to select a preset. Once a preset is selected from the Preset List, the detailed file preview will load here. The mode of the preview depends on the "View" menu: * **Detailed Preview (Default):** Lists all files, predicted status (`Mapped`, `Model`, `Extra`, `Unrecognised`, `Ignored`, `Error`), output name, etc., based on the selected *processing* preset. The columns displayed are: Name, Target Asset, Supplier, Asset Type, Item Type. The "Target Asset" column stretches to fill available space, while others resize to content. The previous "Status" and "Output Path" columns have been removed. Text colors are applied to cells based on the status of the individual file they represent. Rows use alternating background colors per asset group for visual separation. * **Simple View (Preview Disabled):** Lists only top-level input asset paths. * **Progress Bar:** Shows overall processing progress. * **Blender Post-Processing:** Checkbox to enable Blender scripts. If enabled, shows fields and browse buttons for target `.blend` files (defaults from `config/app_settings.json`). * **Options & Controls (Bottom):** * `Overwrite Existing`: Checkbox to force reprocessing. * `Workers`: Spinbox for concurrent processes. * `Clear Queue`: Button to clear the queue and preview. * `Start Processing`: Button to start processing the queue. This button is disabled until a valid preset is selected from the Preset List. * `Cancel`: Button to attempt stopping processing. * **Re-interpret Selected with LLM:** This button appears when the "- LLM Interpretation -" preset is selected. It allows you to re-process only the currently selected items in the Preview Table using the LLM, without affecting other items in the queue. This is useful for refining predictions on specific assets. * **Status Bar:** Displays current status, errors, and completion messages. During LLM processing, the status bar will show messages indicating the progress of the LLM requests. ## GUI Configuration Editor Access the GUI Configuration Editor via the **Edit** -> **Preferences...** menu. This dialog allows you to directly edit the `config/app_settings.json` file, which contains the core application settings. The editor uses a tabbed layout (e.g., "General", "Output & Naming") to organize settings. Any changes made in the GUI Configuration Editor require you to restart the application for them to take effect. *(Ideally, a screenshot of the GUI Configuration Editor would be included here.)*