BUCKYVERSE
flowchart TD
    %% Main user input
    User[User Command] --> Orchestrator
    
    %% Core orchestration
    Orchestrator[BookBuilderOrchestrator] --> OptionHandler
    Orchestrator --> LoggerSetup
    Orchestrator --> MetaHandler
    Orchestrator --> DirSetup
    
    %% Setup and configuration components
    OptionHandler[OptionHandler] -->|build options| Orchestrator
    LoggerSetup[LoggerSetup] -->|logger instance| Orchestrator
    MetaHandler[MetadataHandler] -->|book metadata| Orchestrator
    DirSetup[FileStructureSetup] -->|directory paths| Orchestrator
    
    %% Book building components with dependencies
    Orchestrator -->|if not pdf_only| EB
    Orchestrator -->|if not pdf_only| MB
    Orchestrator -->|if not skip_quality| QC
    
    %% Input files
    MetaYAML[meta.yaml] -->|input| MetaHandler
    ManuscriptTex[manuscript.tex] -->|input| PDF
    CoverImage[cover image] -->|input| EB
    
    %% PDF Builder flow 
    Orchestrator --> PDF
    PDF[PDFBuilder] -->|compiles| PDFOutput[PDF File]
    
    %% Ebook Builder flow
    EB[EbookBuilder] --> HTML
    HTML[BuildHTML] -->|output| HTMLFiles[HTML Files]
    HTMLFiles -->|input| MOBI
    EB --> MOBI[BuildMOBI]
    EB --> EPUB[BuildEPUB]
    EB --> Kindle[BuildKindleFormats]
    MOBI -->|output| MOBIFile[MOBI File]
    EPUB -->|output| EPUBFile[EPUB File]
    Kindle -->|output| KFXFile[KFX File]
    ManuscriptTex -->|input| EPUB
    ManuscriptTex -->|input| HTML
    
    %% Markdown Builder flow
    MB[MarkdownBuilder] -->|creates| MDFile[Markdown Files]
    PDFOutput -->|input| MB
    
    %% WikiJS Builder flow
    MB --> WB[WikiJSBuilder]
    WB -->|creates| WikiJSFiles[WikiJS Files]
    CoverImage -->|input| WB
    MDFile -->|input| WB
    EPUBFile -->|link in index| WB
    MOBIFile -->|link in index| WB
    KFXFile -->|link in index| WB
    PDFOutput -->|link in index| WB
    
    %% Quality Checker flow
    QC[QualityChecker] --> EPUBCheck
    QC --> ACECheck
    QC --> PDFDiff
    EPUBFile -->|input| EPUBCheck[CheckEPUB]
    EPUBFile -->|input| ACECheck[RunACE]
    PDFOutput -->|input| PDFDiff[CreatePDFDiff]
    EPUBCheck -->|output| EPUBReport[EPUB Check Report]
    ACECheck -->|output| ACEReport[Accessibility Report]
    PDFDiff -->|output| DiffFile[PDF Difference File]
    
    %% Outputs section highlighting final deliverables
    subgraph Outputs
        PDFOutput
        EPUBFile
        MOBIFile
        KFXFile
        MDFile
        WikiJSFiles
        EPUBReport
        ACEReport
        DiffFile
    end
    
    %% Style definitions
    classDef algorithm fill:#f9f,stroke:#333,stroke-width:2px;
    classDef input fill:#bbf,stroke:#33f,stroke-width:1px;
    classDef output fill:#bfb,stroke:#3b3,stroke-width:1px;
    
    class Orchestrator,OptionHandler,LoggerSetup,MetaHandler,DirSetup,PDF,EB,HTML,EPUB,MOBI,Kindle,MB,WB,QC,EPUBCheck,ACECheck,PDFDiff algorithm;
    class MetaYAML,ManuscriptTex,CoverImage input;
    class PDFOutput,EPUBFile,MOBIFile,KFXFile,MDFile,WikiJSFiles,EPUBReport,ACEReport,DiffFile output;