# Asset Processor Tool Documentation Plan This document outlines the proposed structure for the documentation of the Asset Processor Tool, based on the content from `readme.md` and `documentation.txt`. The goal is to create a clear, modular, and comprehensive documentation set within a new `Documentation` directory. ## Proposed Directory Structure ``` Documentation/ ├── 00_Overview.md ├── 01_User_Guide/ │ ├── 01_Introduction.md │ ├── 02_Features.md │ ├── 03_Installation.md │ ├── 04_Configuration_and_Presets.md │ ├── 05_Usage_GUI.md │ ├── 06_Usage_CLI.md │ ├── 07_Usage_Monitor.md │ ├── 08_Usage_Blender.md │ ├── 09_Output_Structure.md │ └── 10_Docker.md └── 02_Developer_Guide/ ├── 01_Architecture.md ├── 02_Codebase_Structure.md ├── 03_Key_Components.md ├── 04_Configuration_System_and_Presets.md ├── 05_Processing_Pipeline.md ├── 06_GUI_Internals.md ├── 07_Monitor_Internals.md ├── 08_Blender_Integration_Internals.md ├── 09_Development_Workflow.md ├── 10_Coding_Conventions.md └── 11_Debugging_Notes.md ``` ## File Content Breakdown ### `Documentation/00_Overview.md` * Project purpose, scope, and intended audience. * High-level summary of the tool's functionality. * Table of Contents for the entire documentation set. ### `Documentation/01_User_Guide/` * **`01_Introduction.md`**: Brief welcome and purpose for users. * **`02_Features.md`**: Detailed list of user-facing features. * **`03_Installation.md`**: Requirements and step-by-step installation instructions. * **`04_Configuration_and_Presets.md`**: Explains user-level configuration options (`config.py` settings relevant to users) and how to select and understand presets. * **`05_Usage_GUI.md`**: Guide on using the Graphical User Interface, including descriptions of panels, controls, and workflow. * **`06_Usage_CLI.md`**: Guide on using the Command-Line Interface, including arguments and examples. * **`07_Usage_Monitor.md`**: Guide on setting up and using the Directory Monitor for automated processing. * **`08_Usage_Blender.md`**: Explains the user-facing aspects of the Blender integration. * **`09_Output_Structure.md`**: Describes the structure and contents of the generated asset library. * **`10_Docker.md`**: Instructions for building and running the tool using Docker. ### `Documentation/02_Developer_Guide/` * **`01_Architecture.md`**: High-level technical architecture, core components, and their relationships. * **`02_Codebase_Structure.md`**: Detailed breakdown of key files and directories within the project. * **`03_Key_Components.md`**: In-depth explanation of major classes and modules (`AssetProcessor`, `Configuration`, GUI Handlers, etc.). * **`04_Configuration_System_and_Presets.md`**: Technical details of the configuration loading and merging process, the structure of preset JSON files, and guidance on creating/modifying presets for developers. * **`05_Processing_Pipeline.md`**: Step-by-step technical breakdown of the asset processing logic within the `AssetProcessor` class. * **`06_GUI_Internals.md`**: Technical details of the GUI implementation, including threading, signals/slots, and background task management. * **`07_Monitor_Internals.md`**: Technical details of the Directory Monitor implementation using `watchdog`. * **`08_Blender_Integration_Internals.md`**: Technical details of how the Blender scripts are executed and interact with the processed assets. * **`09_Development_Workflow.md`**: Guidance for developers on contributing, setting up a development environment, and modifying specific parts of the codebase. * **`10_Coding_Conventions.md`**: Overview of the project's coding standards, object-oriented approach, type hinting, logging, and error handling. * **`11_Debugging_Notes.md`**: Advanced internal details, state management, error propagation, concurrency models, resource management, and known limitations/edge cases. This plan provides a solid foundation for organizing the existing documentation and serves as a roadmap for creating the new markdown files.