# takashiyoshinaga/questarucomarkertracking architecture

> Architecture diagram of the GitHub repository takashiyoshinaga/questarucomarkertracking, 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/takashiyoshinaga/questarucomarkertracking
- Repository: https://github.com/takashiyoshinaga/questarucomarkertracking

## Overview

This Unity project demonstrates Quest passthrough-camera marker tracking: the user opens a sample scene, camera imagery is obtained, and OpenCV-based ArUco or ChArUco tracking supports an AR result. The README documents the scenes, modes, dependency, and configurable marker-to-GameObject pairs, but no source excerpts were provided; internal call order and the camera-adjustment script’s role therefore remain unspecified.

Main entry points: [`QuestMarkerTracking/Assets/Scripts/ChArUcoMarkerTracking.cs`](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ChArUcoMarkerTracking.cs) (ChArUco tracker), [`QuestMarkerTracking/Assets/1 - ArUcoMarkerTracking.unity`](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/1%20-%20ArUcoMarkerTracking.unity) (ArUco sample scene), [`QuestMarkerTracking/Assets/Scripts/ArUcoTrackingAppCoordinator.cs`](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ArUcoTrackingAppCoordinator.cs) (ArUco coordinator), [`QuestMarkerTracking/Assets/Scripts/ArUcoMarkerTracking.cs`](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ArUcoMarkerTracking.cs) (ArUco tracker)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_capture["Camera access"]
  node_camera["Passthrough camera"]
  node_camera_test["Camera access test"]
  node_image_adjuster["Camera image adjuster"]
end

subgraph group_aruco["ArUco tracking"]
  node_aruco_scene["ArUco sample scene"]
  node_aruco_coordinator["ArUco coordinator"]
  node_aruco_tracker["ArUco tracker"]
  node_opencv["OpenCV for Unity"]
end

subgraph group_charuco["ChArUco tracking"]
  node_charuco_scene["ChArUco sample scene"]
  node_charuco_coordinator["ChArUco coordinator"]
  node_charuco_tracker["ChArUco tracker"]
end

subgraph group_presentation["AR presentation"]
  node_aruco_objects["Marker GameObjects"]
end

node_user(("Quest user"))

node_user -->|"opens test"| node_camera_test
node_user -->|"opens sample"| node_aruco_scene
node_user -->|"opens sample"| node_charuco_scene
node_camera -->|"provides camera access"| node_camera_test
node_camera -->|"provides imagery"| node_aruco_tracker
node_camera -->|"provides imagery"| node_charuco_tracker
node_aruco_scene -->|"configures markers"| node_aruco_coordinator
node_aruco_tracker -->|"uses detection"| node_opencv
node_charuco_scene -->|"supports tracking"| node_charuco_tracker
node_charuco_tracker -->|"uses detection"| node_opencv
node_aruco_coordinator -->|"maps marker pairs"| node_aruco_objects

click node_camera_test "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/0%20-%20CameraAccessTest.unity"
click node_aruco_scene "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/1%20-%20ArUcoMarkerTracking.unity"
click node_aruco_coordinator "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ArUcoTrackingAppCoordinator.cs"
click node_aruco_tracker "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ArUcoMarkerTracking.cs"
click node_charuco_scene "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/2%20-%20ChArUcoMarkerTracking.unity"
click node_charuco_coordinator "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ChArUcoTrackingAppCoordinator.cs"
click node_charuco_tracker "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ChArUcoMarkerTracking.cs"
click node_image_adjuster "https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/CameraImageAduster.cs"

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_camera,node_camera_test,node_image_adjuster,node_user toneBlue
class node_aruco_scene,node_aruco_coordinator,node_aruco_tracker,node_opencv toneAmber
class node_charuco_scene,node_charuco_coordinator,node_charuco_tracker toneMint
class node_aruco_objects toneRose
```

## Components

### Camera access

- **Passthrough camera**
- [Camera access test](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/0%20-%20CameraAccessTest.unity): `QuestMarkerTracking/Assets/0 - CameraAccessTest.unity`
- [Camera image adjuster](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/CameraImageAduster.cs): `QuestMarkerTracking/Assets/Scripts/CameraImageAduster.cs`

### ArUco tracking

- [ArUco sample scene](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/1%20-%20ArUcoMarkerTracking.unity): `QuestMarkerTracking/Assets/1 - ArUcoMarkerTracking.unity`
- [ArUco coordinator](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ArUcoTrackingAppCoordinator.cs): `QuestMarkerTracking/Assets/Scripts/ArUcoTrackingAppCoordinator.cs`
- [ArUco tracker](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ArUcoMarkerTracking.cs): `QuestMarkerTracking/Assets/Scripts/ArUcoMarkerTracking.cs`
- **OpenCV for Unity**

### ChArUco tracking

- [ChArUco sample scene](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/2%20-%20ChArUcoMarkerTracking.unity): `QuestMarkerTracking/Assets/2 - ChArUcoMarkerTracking.unity`
- [ChArUco coordinator](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ChArUcoTrackingAppCoordinator.cs): `QuestMarkerTracking/Assets/Scripts/ChArUcoTrackingAppCoordinator.cs`
- [ChArUco tracker](https://github.com/takashiyoshinaga/questarucomarkertracking/blob/main/QuestMarkerTracking/Assets/Scripts/ChArUcoMarkerTracking.cs): `QuestMarkerTracking/Assets/Scripts/ChArUcoMarkerTracking.cs`

### AR presentation

- **Marker GameObjects**

### Other components

- **Quest user**

## Connections

- Quest user → Camera access test: opens test (evidence: `README.md`)
- Quest user → ArUco sample scene: opens sample (evidence: `README.md`)
- Quest user → ChArUco sample scene: opens sample (evidence: `README.md`)
- Passthrough camera → Camera access test: provides camera access (evidence: `README.md`)
- Passthrough camera → ArUco tracker: provides imagery (evidence: `README.md`)
- Passthrough camera → ChArUco tracker: provides imagery (evidence: `README.md`)
- ArUco sample scene → ArUco coordinator: configures markers (evidence: `README.md`)
- ArUco tracker → OpenCV for Unity: uses detection (evidence: `README.md`)
- ChArUco sample scene → ChArUco tracker: supports tracking (evidence: `README.md`)
- ChArUco tracker → OpenCV for Unity: uses detection (evidence: `README.md`)
- ArUco coordinator → Marker GameObjects: maps marker pairs (evidence: `README.md`)
