# terra-online/atlos architecture

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

- Interactive diagram: https://gitdiagram.com/terra-online/atlos
- Repository: https://github.com/terra-online/atlos

## Overview

Atlos is a browser-based Endfield game map. Users explore the map, find and filter markers, inspect locations, and update or share progress; the main app composes the map and its floating interface. Separate capabilities include account access, community uploads and comments, notifications, locator features, and the Intel archive view. The graph follows documented structure and sampled calls; several unsampled components are represented by their existing enclosing paths, and uncertain internal wiring is omitted.

Main entry points: [`talos/apps/intel/src/App.tsx`](https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/App.tsx) (Intel archive app), [`talos/src/App.tsx`](https://github.com/terra-online/atlos/blob/main/talos/src/App.tsx) (Main application), [`talos/src/main.tsx`](https://github.com/terra-online/atlos/blob/main/talos/src/main.tsx) (App bootstrap), [`talos/src/component/map/Map.tsx`](https://github.com/terra-online/atlos/blob/main/talos/src/component/map/Map.tsx) (Interactive map)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application shell"]
  node_bootstrap["App bootstrap<br/>[main.tsx]"]
  node_application["Main application<br/>[App.tsx]"]
  node_overlay["Floating interface<br/>[UIOverlay.tsx]"]
end

subgraph group_map["Map exploration"]
  node_mapview["Interactive map<br/>[Map.tsx]"]
  node_mapcore["Map rendering core<br/>[map.ts]"]
  node_markerdata["Marker data<br/>[index.ts]"]
  node_search["Advanced search"]
  node_sidebar["Marker sidebar<br/>[sideBar.tsx]"]
  node_lasso["Map lasso selection"]
  node_routing["URL and sharing<br/>[index.ts]"]
end

subgraph group_account["Identity and progress"]
  node_authui["Account interface"]
  node_authservice["Authentication service<br/>[index.ts]"]
  node_progress["Collection progress<br/>[index.ts]"]
  node_progresssync["Progress sync host"]
end

subgraph group_community["Community services"]
  node_ugcui["UGC interactions<br/>[uploader.tsx]"]
  node_ugcclient["UGC service client<br/>[client.ts]"]
  node_notifyui["Notifications interface<br/>[notify.tsx]"]
  node_notifyclient["Notification client<br/>[client.ts]"]
end

subgraph group_intel["Intel archive"]
  node_intelapp["Intel archive app<br/>[App.tsx]"]
  node_intelstate["Archive progress state<br/>[archiveProgress.ts]"]
  node_intelcontract["Archive import contract<br/>[importContract.ts]"]
  node_intelhost["Archive sync host"]
end

node_visitor(("Map user"))

node_visitor -->|"opens app"| node_bootstrap
node_bootstrap -->|"renders"| node_application
node_application -->|"renders map"| node_mapview
node_application -->|"renders interface"| node_overlay
node_mapview -->|"uses renderer"| node_mapcore
node_search -->|"loads markers"| node_markerdata
node_lasso -->|"commits selection"| node_progress
node_authui -->|"calls auth"| node_authservice
node_progresssync -->|"syncs progress"| node_progress
node_ugcui -->|"requests UGC"| node_ugcclient
node_notifyui -->|"requests updates"| node_notifyclient
node_intelapp -->|"decodes imports"| node_intelcontract
node_intelapp -->|"updates collection"| node_intelstate
node_intelapp -->|"mounts sync host"| node_intelhost

click node_bootstrap "https://github.com/terra-online/atlos/blob/main/talos/src/main.tsx"
click node_application "https://github.com/terra-online/atlos/blob/main/talos/src/App.tsx"
click node_overlay "https://github.com/terra-online/atlos/blob/main/talos/src/component/uiOverlay/UIOverlay.tsx"
click node_mapview "https://github.com/terra-online/atlos/blob/main/talos/src/component/map/Map.tsx"
click node_mapcore "https://github.com/terra-online/atlos/blob/main/talos/src/component/mapCore/map.ts"
click node_markerdata "https://github.com/terra-online/atlos/blob/main/talos/src/data/marker/index.ts"
click node_search "https://github.com/terra-online/atlos/blob/main/talos/src/component/search/useAdvancedSearch.ts"
click node_sidebar "https://github.com/terra-online/atlos/blob/main/talos/src/component/sideBar/sideBar.tsx"
click node_lasso "https://github.com/terra-online/atlos/blob/main/talos/src/component/settings/useMapMultiSelect.ts"
click node_routing "https://github.com/terra-online/atlos/blob/main/talos/src/services/routing/index.ts"
click node_authui "https://github.com/terra-online/atlos/blob/main/talos/src/component/login/useIdCardAuthController.ts"
click node_authservice "https://github.com/terra-online/atlos/blob/main/talos/src/services/auth/index.ts"
click node_progress "https://github.com/terra-online/atlos/blob/main/talos/src/services/progress/index.ts"
click node_progresssync "https://github.com/terra-online/atlos/blob/main/talos/src/component/progressSync/ProgressSyncHost.tsx"
click node_ugcui "https://github.com/terra-online/atlos/blob/main/talos/src/component/uploader/uploader.tsx"
click node_ugcclient "https://github.com/terra-online/atlos/blob/main/talos/src/services/ugc/client.ts"
click node_notifyui "https://github.com/terra-online/atlos/blob/main/talos/src/component/notify/notify.tsx"
click node_notifyclient "https://github.com/terra-online/atlos/blob/main/talos/src/services/notifications/client.ts"
click node_intelapp "https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/App.tsx"
click node_intelstate "https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/state/archiveProgress.ts"
click node_intelcontract "https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/data/importContract.ts"
click node_intelhost "https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/state/ArchiveProgressSyncHost.tsx"

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_bootstrap,node_application,node_overlay,node_visitor toneBlue
class node_mapview,node_mapcore,node_markerdata,node_search,node_sidebar,node_lasso,node_routing toneAmber
class node_authui,node_authservice,node_progress,node_progresssync toneMint
class node_ugcui,node_ugcclient,node_notifyui,node_notifyclient toneRose
class node_intelapp,node_intelstate,node_intelcontract,node_intelhost toneIndigo
```

## Components

### Application shell

- [App bootstrap](https://github.com/terra-online/atlos/blob/main/talos/src/main.tsx): `talos/src/main.tsx`
- [Main application](https://github.com/terra-online/atlos/blob/main/talos/src/App.tsx): `talos/src/App.tsx`
- [Floating interface](https://github.com/terra-online/atlos/blob/main/talos/src/component/uiOverlay/UIOverlay.tsx): `talos/src/component/uiOverlay/UIOverlay.tsx`

### Map exploration

- [Interactive map](https://github.com/terra-online/atlos/blob/main/talos/src/component/map/Map.tsx): `talos/src/component/map/Map.tsx`
- [Map rendering core](https://github.com/terra-online/atlos/blob/main/talos/src/component/mapCore/map.ts): `talos/src/component/mapCore/map.ts`
- [Marker data](https://github.com/terra-online/atlos/blob/main/talos/src/data/marker/index.ts): `talos/src/data/marker/index.ts`
- [Advanced search](https://github.com/terra-online/atlos/blob/main/talos/src/component/search/useAdvancedSearch.ts): `talos/src/component/search/useAdvancedSearch.ts`
- [Marker sidebar](https://github.com/terra-online/atlos/blob/main/talos/src/component/sideBar/sideBar.tsx): `talos/src/component/sideBar/sideBar.tsx`
- [Map lasso selection](https://github.com/terra-online/atlos/blob/main/talos/src/component/settings/useMapMultiSelect.ts): `talos/src/component/settings/useMapMultiSelect.ts`
- [URL and sharing](https://github.com/terra-online/atlos/blob/main/talos/src/services/routing/index.ts): `talos/src/services/routing/index.ts`

### Identity and progress

- [Account interface](https://github.com/terra-online/atlos/blob/main/talos/src/component/login/useIdCardAuthController.ts): `talos/src/component/login/useIdCardAuthController.ts`
- [Authentication service](https://github.com/terra-online/atlos/blob/main/talos/src/services/auth/index.ts): `talos/src/services/auth/index.ts`
- [Collection progress](https://github.com/terra-online/atlos/blob/main/talos/src/services/progress/index.ts): `talos/src/services/progress/index.ts`
- [Progress sync host](https://github.com/terra-online/atlos/blob/main/talos/src/component/progressSync/ProgressSyncHost.tsx): `talos/src/component/progressSync/ProgressSyncHost.tsx`

### Community services

- [UGC interactions](https://github.com/terra-online/atlos/blob/main/talos/src/component/uploader/uploader.tsx): `talos/src/component/uploader/uploader.tsx`
- [UGC service client](https://github.com/terra-online/atlos/blob/main/talos/src/services/ugc/client.ts): `talos/src/services/ugc/client.ts`
- [Notifications interface](https://github.com/terra-online/atlos/blob/main/talos/src/component/notify/notify.tsx): `talos/src/component/notify/notify.tsx`
- [Notification client](https://github.com/terra-online/atlos/blob/main/talos/src/services/notifications/client.ts): `talos/src/services/notifications/client.ts`

### Intel archive

- [Intel archive app](https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/App.tsx): `talos/apps/intel/src/App.tsx`
- [Archive progress state](https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/state/archiveProgress.ts): `talos/apps/intel/src/state/archiveProgress.ts`
- [Archive import contract](https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/data/importContract.ts): `talos/apps/intel/src/data/importContract.ts`
- [Archive sync host](https://github.com/terra-online/atlos/blob/main/talos/apps/intel/src/state/ArchiveProgressSyncHost.tsx): `talos/apps/intel/src/state/ArchiveProgressSyncHost.tsx`

### Other components

- **Map user**

## Connections

- Map user → App bootstrap: opens app
- App bootstrap → Main application: renders
- Main application → Interactive map: renders map
- Main application → Floating interface: renders interface
- Interactive map → Map rendering core: uses renderer
- Advanced search → Marker data: loads markers
- Map lasso selection → Collection progress: commits selection
- Account interface → Authentication service: calls auth
- Progress sync host → Collection progress: syncs progress
- UGC interactions → UGC service client: requests UGC
- Notifications interface → Notification client: requests updates
- Intel archive app → Archive import contract: decodes imports
- Intel archive app → Archive progress state: updates collection
- Intel archive app → Archive sync host: mounts sync host
