# flaman55/primeatlas architecture

> Architecture diagram of the GitHub repository flaman55/primeatlas, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/flaman55/primeatlas
- Repository: https://github.com/flaman55/primeatlas

## Overview

PrimeAtlas is a Windows desktop application for generating and exploring large prime and prime-constellation datasets, with independent number-theory tools and research views. Its principal workflow is to configure a generation request, launch the WSL sieve pipeline, store prime windows, detect constellation hits, and browse or search the resulting data. The graph preserves the documented calculator, records, research, and storage-management branches. Several UI and runtime modules were not sampled, so their documented relationships cite the README; unsampled implementation details are not inferred.

Main entry points: [`primeatlas/app/app_window.py`](https://github.com/flaman55/primeatlas/blob/main/primeatlas/app/app_window.py) (App window), [`primeatlas/core/storage.py`](https://github.com/flaman55/primeatlas/blob/main/primeatlas/core/storage.py) (Prime-window storage), [`primeatlas/generation/generation_tab.py`](https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/generation_tab.py) (Generation controls), [`primeatlas/constellations/constellations.py`](https://github.com/flaman55/primeatlas/blob/main/primeatlas/constellations/constellations.py) (Constellation browsing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Desktop application"]
  node_app["App window<br/>[app_window.py]"]
  node_primes_tab["Prime browsing<br/>[primes_tab.py]"]
  node_primality["Primality tools<br/>[primality.py]"]
  node_primesieve_calc["Primesieve queries"]
end

subgraph group_generation["Generation pipeline"]
  node_generation_tab["Generation controls<br/>[generation_tab.py]"]
  node_gen_settings["Engine settings"]
  node_argv["Launch arguments<br/>[engine_argv.py]"]
  node_orchestrator["Sieve orchestrator<br/>[orchestrator_v3.py]"]
  node_prime_engine["Prime sieve engine<br/>[prime_sieve_v5.py]"]
end

subgraph group_data["Prime data"]
  node_prime_store[("Prime-window storage<br/>[storage.py]")]
  node_storage_layout["Window layout<br/>[storage_kinds.py]"]
end

subgraph group_constellations["Constellation tools"]
  node_const_finder["Constellation finder"]
  node_const_storage[("Hit-file operations<br/>[prime_sieve_v1.py]")]
  node_const_tab["Constellation browsing<br/>[constellations.py]"]
  node_records["Records table"]
  node_pattern_catalog["Pattern catalog"]
end

subgraph group_analysis["Analysis and settings"]
  node_research["Research views"]
  node_goldbach["Goldbach analysis"]
  node_visualization["Prime visualizations<br/>[session.py]"]
  node_storage_integrate["Storage integration"]
end

node_user(("User"))

node_user -->|"uses"| node_app
node_app -->|"offers"| node_primes_tab
node_app -->|"offers"| node_generation_tab
node_app -->|"offers"| node_const_tab
node_app -->|"offers"| node_research
node_generation_tab -->|"configures"| node_gen_settings
node_generation_tab -->|"builds launch"| node_argv
node_generation_tab -->|"launches via WSL"| node_orchestrator
node_orchestrator -->|"dispatches"| node_prime_engine
node_prime_engine -->|"writes windows"| node_prime_store
node_prime_store -->|"uses layout"| node_storage_layout
node_primes_tab -->|"browses and searches"| node_prime_store
node_primality -->|"returns results"| node_user
node_primesieve_calc -->|"returns queries"| node_user
node_generation_tab -->|"can launch"| node_const_finder
node_const_finder -->|"reads prime windows"| node_prime_store
node_const_finder -->|"records hits"| node_const_storage
node_const_finder -->|"loads patterns"| node_pattern_catalog
node_const_tab -->|"searches storage"| node_prime_store
node_const_tab -->|"reads hit data"| node_const_storage
node_const_tab -->|"uses patterns"| node_pattern_catalog
node_const_tab -->|"includes records"| node_records
node_research -->|"includes analysis"| node_goldbach
node_goldbach -->|"reads stored primes"| node_prime_store
node_app -->|"offers visualizations"| node_visualization
node_user -->|"can merge storage"| node_storage_integrate

click node_app "https://github.com/flaman55/primeatlas/blob/main/primeatlas/app/app_window.py"
click node_primes_tab "https://github.com/flaman55/primeatlas/blob/main/primeatlas/primes/primes_tab.py"
click node_primality "https://github.com/flaman55/primeatlas/blob/main/primeatlas/primality/primality.py"
click node_primesieve_calc "https://github.com/flaman55/primeatlas/blob/main/primeatlas/primality/primesieve_calc_tab.py"
click node_generation_tab "https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/generation_tab.py"
click node_gen_settings "https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/generation_settings.py"
click node_argv "https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/engine_argv.py"
click node_orchestrator "https://github.com/flaman55/primeatlas/blob/main/prime_sieve/orchestrator_v3.py"
click node_prime_engine "https://github.com/flaman55/primeatlas/blob/main/prime_sieve/prime_sieve_v5.py"
click node_prime_store "https://github.com/flaman55/primeatlas/blob/main/primeatlas/core/storage.py"
click node_storage_layout "https://github.com/flaman55/primeatlas/blob/main/prime_sieve/storage_kinds.py"
click node_const_finder "https://github.com/flaman55/primeatlas/blob/main/constellation/constellation_finder_v2_1.py"
click node_const_storage "https://github.com/flaman55/primeatlas/blob/main/prime_sieve/prime_sieve_v1.py"
click node_const_tab "https://github.com/flaman55/primeatlas/blob/main/primeatlas/constellations/constellations.py"
click node_records "https://github.com/flaman55/primeatlas/blob/main/primeatlas/constellations/constellations_records_tab.py"
click node_pattern_catalog "https://github.com/flaman55/primeatlas/blob/main/constellation/pattern_catalog_v1.py"
click node_research "https://github.com/flaman55/primeatlas/blob/main/primeatlas/app/research_section.py"
click node_goldbach "https://github.com/flaman55/primeatlas/blob/main/primeatlas/research/research_goldbach_tab.py"
click node_visualization "https://github.com/flaman55/primeatlas/blob/main/primeatlas/visualization/shared/session.py"
click node_storage_integrate "https://github.com/flaman55/primeatlas/blob/main/primeatlas/settings/storage_integrate.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_primes_tab,node_primality,node_primesieve_calc,node_user toneBlue
class node_generation_tab,node_gen_settings,node_argv,node_orchestrator,node_prime_engine toneAmber
class node_prime_store,node_storage_layout toneMint
class node_const_finder,node_const_storage,node_const_tab,node_records,node_pattern_catalog toneRose
class node_research,node_goldbach,node_visualization,node_storage_integrate toneIndigo
```

## Components

### Desktop application

- [App window](https://github.com/flaman55/primeatlas/blob/main/primeatlas/app/app_window.py): `primeatlas/app/app_window.py`
- [Prime browsing](https://github.com/flaman55/primeatlas/blob/main/primeatlas/primes/primes_tab.py): `primeatlas/primes/primes_tab.py`
- [Primality tools](https://github.com/flaman55/primeatlas/blob/main/primeatlas/primality/primality.py): `primeatlas/primality/primality.py`
- [Primesieve queries](https://github.com/flaman55/primeatlas/blob/main/primeatlas/primality/primesieve_calc_tab.py): `primeatlas/primality/primesieve_calc_tab.py`

### Generation pipeline

- [Generation controls](https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/generation_tab.py): `primeatlas/generation/generation_tab.py`
- [Engine settings](https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/generation_settings.py): `primeatlas/generation/generation_settings.py`
- [Launch arguments](https://github.com/flaman55/primeatlas/blob/main/primeatlas/generation/engine_argv.py): `primeatlas/generation/engine_argv.py`
- [Sieve orchestrator](https://github.com/flaman55/primeatlas/blob/main/prime_sieve/orchestrator_v3.py): `prime_sieve/orchestrator_v3.py`
- [Prime sieve engine](https://github.com/flaman55/primeatlas/blob/main/prime_sieve/prime_sieve_v5.py): `prime_sieve/prime_sieve_v5.py`

### Prime data

- [Prime-window storage](https://github.com/flaman55/primeatlas/blob/main/primeatlas/core/storage.py): `primeatlas/core/storage.py`
- [Window layout](https://github.com/flaman55/primeatlas/blob/main/prime_sieve/storage_kinds.py): `prime_sieve/storage_kinds.py`

### Constellation tools

- [Constellation finder](https://github.com/flaman55/primeatlas/blob/main/constellation/constellation_finder_v2_1.py): `constellation/constellation_finder_v2_1.py`
- [Hit-file operations](https://github.com/flaman55/primeatlas/blob/main/prime_sieve/prime_sieve_v1.py): `prime_sieve/prime_sieve_v1.py`
- [Constellation browsing](https://github.com/flaman55/primeatlas/blob/main/primeatlas/constellations/constellations.py): `primeatlas/constellations/constellations.py`
- [Records table](https://github.com/flaman55/primeatlas/blob/main/primeatlas/constellations/constellations_records_tab.py): `primeatlas/constellations/constellations_records_tab.py`
- [Pattern catalog](https://github.com/flaman55/primeatlas/blob/main/constellation/pattern_catalog_v1.py): `constellation/pattern_catalog_v1.py`

### Analysis and settings

- [Research views](https://github.com/flaman55/primeatlas/blob/main/primeatlas/app/research_section.py): `primeatlas/app/research_section.py`
- [Goldbach analysis](https://github.com/flaman55/primeatlas/blob/main/primeatlas/research/research_goldbach_tab.py): `primeatlas/research/research_goldbach_tab.py`
- [Prime visualizations](https://github.com/flaman55/primeatlas/blob/main/primeatlas/visualization/shared/session.py): `primeatlas/visualization/shared/session.py`
- [Storage integration](https://github.com/flaman55/primeatlas/blob/main/primeatlas/settings/storage_integrate.py): `primeatlas/settings/storage_integrate.py`

### Other components

- **User**

## Connections

- User → App window: uses
- App window → Prime browsing: offers
- App window → Generation controls: offers
- App window → Constellation browsing: offers
- App window → Research views: offers
- Generation controls → Engine settings: configures (evidence: `primeatlas/generation/generation_settings.py`)
- Generation controls → Launch arguments: builds launch (evidence: `primeatlas/generation/engine_argv.py`)
- Generation controls → Sieve orchestrator: launches via WSL
- Sieve orchestrator → Prime sieve engine: dispatches
- Prime sieve engine → Prime-window storage: writes windows
- Prime-window storage → Window layout: uses layout (evidence: `primeatlas/core/storage.py`)
- Prime browsing → Prime-window storage: browses and searches (evidence: `primeatlas/primes/primes_tab.py`)
- Primality tools → User: returns results
- Primesieve queries → User: returns queries
- Generation controls → Constellation finder: can launch
- Constellation finder → Prime-window storage: reads prime windows (evidence: `constellation/constellation_finder_v2_1.py`)
- Constellation finder → Hit-file operations: records hits (evidence: `constellation/constellation_finder_v2_1.py`)
- Constellation finder → Pattern catalog: loads patterns (evidence: `constellation/constellation_finder_v2_1.py`)
- Constellation browsing → Prime-window storage: searches storage (evidence: `primeatlas/constellations/constellations.py`)
- Constellation browsing → Hit-file operations: reads hit data (evidence: `primeatlas/constellations/constellations.py`)
- Constellation browsing → Pattern catalog: uses patterns (evidence: `primeatlas/constellations/constellations.py`)
- Constellation browsing → Records table: includes records (evidence: `primeatlas/constellations/constellations_records_tab.py`)
- Research views → Goldbach analysis: includes analysis (evidence: `primeatlas/app/research_section.py`)
- Goldbach analysis → Prime-window storage: reads stored primes
- App window → Prime visualizations: offers visualizations
- User → Storage integration: can merge storage
