How does it work?ΒΆ

        ---
title: How Layers Menu From Project behaves during QGIS launch
---
flowchart TD
    A@{ shape: circle, label: "QGIS starts" } -->|splash screen displayed| B(load GUI and plugins)

    subgraph "QGIS UI main thread"
    B -->|GUI is initialized| C@{ shape: curv-trap, label: "QGIS main UI displayed" }
    C ==> Q((("QGIS is mainly usable")))
    end

    subgraph "LMFP thread (QgsTask)"
    C -.->|threaded LMFP| D[[read projects configuration]]
    D -.-> E[[check project's cache]]
    E -.->|cache still valid| F(create menus from caches JSON files)
    F == menus appear in the main UI ==> Q
    E -.->|cache has expired or is invalid| G(download/copy remote files)
    G -.->|store cache|H("{path_to_qgis_profile}/cache/menu_from_project")
    H --> F
    end