# LLM Guide: High-Level Project Data (`HighLevel/`)

## 1. Purpose

This data level provides a **high-level, bird's-eye view** of the entire Unity project. It is the smallest and fastest data source, designed for answering questions about the project's overall configuration, settings, and dependencies.

**Use this data for questions like:**
- "What is the product name and company name?"
- "Which render pipeline is the project using (Built-in, URP, HDRP)?"
- "What version is the application bundle?"
- "List all custom tags and layers defined in the project."
- "Which scenes are included in the build settings?"
- "What packages and dependencies are included in the project?"

## 2. File Structure

The `HighLevel` folder will contain the following structure:

```
HighLevel/
├── manifest.json
└── packages.json
```

## 3. Key Files & Schema

### `manifest.json`

This file contains a comprehensive summary of the project's most important settings, aggregated from multiple files in the `ProjectSettings/` directory.

**Schema Example:**
```json
{
  "productName": "Terra-LLM",
  "companyName": "DefaultCompany",
  "bundleVersion": "0.1",
  "activeColorSpace": 1, // 0: Gamma, 1: Linear
  "renderPipeline": "URP", // Can be "Built-in", "URP", "HDRP", or "Scriptable"
  "projectMode": "3D", // Can be "3D" or "2D"
  "tags": [
    "Untagged",
    "Respawn",
    "Finish",
    "EditorOnly",
    "MainCamera",
    "Player",
    "GameController"
  ],
  "layers": {
    "0": "Default",
    "1": "TransparentFX",
    "2": "Ignore Raycast",
    "4": "Water",
    "5": "UI"
  },
  "buildScenes": [
    {
      "path": "Assets/Scenes/SampleScene.unity",
      "enabled": true
    }
  ],
  "physicsSettings": {
    "gravity": { "x": 0, "y": -9.81, "z": 0 },
    "autoSimulation": true
  }
}
```

### `packages.json`

This file is a direct copy of the project's `Packages/manifest.json`. It lists all the Unity packages and other dependencies used in the project.

**Schema Example:**
```json
{
  "dependencies": {
    "com.unity.ide.rider": "3.0.15",
    "com.unity.ide.visualstudio": "2.0.16",
    "com.unity.render-pipelines.universal": "12.1.7",
    "com.unity.ugui": "1.0.0",
    "com.unity.modules.physics": "1.0.0"
  }
}
```

## 4. Handling Shrunken / Tokenized Data

The JSON files in this folder may have been processed by `json_reducer.py` to save space. You can identify this if the root object contains a `key_mapper` and a `data` key.

**If the data is shrunken:**
1.  The file content will look like this: `{"key_mapper":{"k0":"productName",...},"data":{"k0":"Terra-LLM",...}}`
2.  You **MUST** use the `key_mapper` object to de-tokenize the keys in the `data` object before you can interpret the schema. The `key_mapper` is a dictionary where the keys are the short tokens (e.g., `k0`) and the values are the original, human-readable keys (e.g., `productName`).
3.  Recursively replace every token in the `data` object with its original value from the `key_mapper`.

Once de-tokenized, the data will conform to the schemas described above.