# 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). Assets (files, directories, archives) added via drag-and-drop appear immediately in the table. * If no preset is selected ("-- Select a Preset --"), added items (including files within directories/archives) are displayed with empty prediction fields (Target Asset, Asset Type, Item Type), which can be manually edited. * If a valid preset or LLM mode is selected, the table populates with prediction results as they become available. * The table always displays the detailed view structure with columns: Name, Target Asset, Supplier, Asset Type, Item Type. The "Target Asset" column stretches to fill available space. * **Coloring:** The *text color* of file items is determined by their Item Type (colors defined in `config/app_settings.json`). The *background color* of file items is a 30% darker shade of their parent asset's background, helping to visually group files within an asset. Asset rows themselves may use alternating background colors based on the application theme. * **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 enabled as long as there are items listed in the Preview Table. When clicked, any items that do not have a value assigned in the "Target Asset" column will be automatically ignored for that processing run. * `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.)*