Target / module dependency graph for the iOS app. Mirrors the role of docs/architecture.md in the sibling Android repo (columba/).
Regenerate this file from the current Package.swift + Columba.xcodeproj/project.pbxproj:
ruby support/generate-module-graph.rbThe script reads:
- pbxproj targets (e.g.
ColumbaApp,ColumbaNetworkExtension,PythonBridge,RNSBackendPy) via thexcodeprojRuby gem (already a dependency forsupport/configure-xcodeproj.rb). - SPM targets (e.g.
RNSAPI,LXSTSwift,COpus,CCodec2,SwiftBLEBridge) viaswift package dump-package.
It overwrites the Mermaid block between the start/end marker comments below the ## Target Graph heading. Do not edit between the markers by hand — changes will be lost on next regen.
flowchart TD
CCodec2["CCodec2"]
COpus["COpus"]
ColumbaApp["ColumbaApp"]
ColumbaNetworkExtension["ColumbaNetworkExtension"]
LXSTSwift["LXSTSwift"]
MapLibre["MapLibre"]
RNSAPI["RNSAPI"]
SwiftBLEBridge["SwiftBLEBridge"]
ColumbaApp --> LXSTSwift
ColumbaApp --> MapLibre
ColumbaApp --> RNSAPI
ColumbaApp --> SwiftBLEBridge
LXSTSwift --> CCodec2
LXSTSwift --> COpus
LXSTSwift --> RNSAPI
SwiftBLEBridge --> RNSAPI
classDef app fill:#1f6feb,stroke:#0d419d,color:#fff
classDef extension fill:#8957e5,stroke:#553098,color:#fff
classDef bridge fill:#f0883e,stroke:#9e4c0f,color:#fff
classDef spm_lib fill:#3fb950,stroke:#0f7a2e,color:#fff
classDef c_lib fill:#6e7681,stroke:#30363d,color:#fff
class ColumbaApp app
class LXSTSwift,MapLibre,RNSAPI,SwiftBLEBridge spm_lib
class ColumbaNetworkExtension extension
class CCodec2,COpus c_lib