# henjicc/yipiantian architecture

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

- Interactive diagram: https://gitdiagram.com/henjicc/yipiantian
- Repository: https://github.com/henjicc/yipiantian

## Overview

我有一片田 is a Windows desktop 3D farming game set in a Jiangnan waterside village. Its principal workflow is planting and tending crops over real time, then harvesting; players can also arrange a courtyard, cook, care for animals, and visit neighbors. The README identifies `Game/` as the Godot project and `ArtSource/` as editable art. The supplied tree and excerpts emphasize asset-authoring scripts and the Windows desktop helper, not the Godot gameplay implementation, so gameplay subsystem paths are limited to the documented `Game/` directory and their internal links are not inferred.

Main entry points: [`Game`](https://github.com/henjicc/yipiantian/tree/main/Game) (Farm runtime), [`ArtSource/Crops/Autumn2026/prepare.py`](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Crops/Autumn2026/prepare.py) (Crop assets), [`ArtSource/Audio/compose_season_audio.py`](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Audio/compose_season_audio.py) (Season audio), [`ArtSource/Crops/P2Stages20260919/prepare.py`](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Crops/P2Stages20260919/prepare.py) (Crop stage assets)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gameplay["Farm gameplay"]
  node_farm["Farm runtime"]
  node_cropplay["Crop tending"]
  node_courtyard["Courtyard activities"]
  node_desktop_view["Desktop viewing"]
end

subgraph group_world["Village world"]
  node_village["Village environment"]
end

subgraph group_authoring["Asset authoring"]
  node_farmer_asset["Farmer character<br/>[prepare.py]"]
  node_crop_assets["Crop assets<br/>[prepare.py]"]
  node_crop_stages["Crop stage assets<br/>[prepare.py]"]
  node_tool_assets["Tool assets<br/>[prepare_tools.py]"]
  node_environment_assets["Environment assets<br/>[build_modules.py]"]
  node_life_assets["Courtyard life assets<br/>[prepare.py]"]
  node_lantern_assets["Lantern assets<br/>[prepare.py]"]
  node_ui_assets["UI materials<br/>[build_materials.py]"]
end

subgraph group_audio["Audio authoring"]
  node_farm_audio["Farm audio"]
  node_season_audio["Season audio"]
end

subgraph group_desktop["Desktop mode"]
  node_desktop_helper["Windows desktop helper<br/>[main.cpp]"]
end

node_player(("Player"))

node_player -->|"plays"| node_farm
node_farm -->|"offers planting"| node_cropplay
node_player -->|"tends crops"| node_cropplay
node_player -->|"arranges and visits"| node_courtyard
node_player -->|"switches viewing"| node_desktop_view
node_crop_assets -.->|"authors stages"| node_crop_stages
node_farm -->|"presents setting"| node_village
node_season_audio -->|"imports helpers"| node_farm_audio
node_desktop_view -.->|"uses helper"| node_desktop_helper

click node_farm "https://github.com/henjicc/yipiantian/tree/main/Game"
click node_cropplay "https://github.com/henjicc/yipiantian/tree/main/Game"
click node_courtyard "https://github.com/henjicc/yipiantian/tree/main/Game"
click node_desktop_view "https://github.com/henjicc/yipiantian/tree/main/Game"
click node_village "https://github.com/henjicc/yipiantian/tree/main/Game"
click node_farmer_asset "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Characters/Farmer/p2-gongbi-20260918/prepare.py"
click node_crop_assets "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Crops/Autumn2026/prepare.py"
click node_crop_stages "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Crops/P2Stages20260919/prepare.py"
click node_tool_assets "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Tools/20260919-icon-tools/prepare_tools.py"
click node_environment_assets "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Environment/build_modules.py"
click node_life_assets "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Environment/CourtyardLife/prepare.py"
click node_lantern_assets "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Decorations/Lantern/P2_20260923_r01/prepare.py"
click node_ui_assets "https://github.com/henjicc/yipiantian/blob/main/ArtSource/UI/Pigment/build_materials.py"
click node_farm_audio "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Audio/compose_farm_audio.py"
click node_season_audio "https://github.com/henjicc/yipiantian/blob/main/ArtSource/Audio/compose_season_audio.py"
click node_desktop_helper "https://github.com/henjicc/yipiantian/blob/main/native/desktop/main.cpp"

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_farm,node_cropplay,node_courtyard,node_desktop_view toneBlue
class node_village toneAmber
class node_farmer_asset,node_crop_assets,node_crop_stages,node_tool_assets,node_environment_assets,node_life_assets,node_lantern_assets,node_ui_assets toneMint
class node_farm_audio,node_season_audio toneRose
class node_desktop_helper,node_player toneIndigo
```

## Components

### Farm gameplay

- [Farm runtime](https://github.com/henjicc/yipiantian/tree/main/Game): `Game`
- [Crop tending](https://github.com/henjicc/yipiantian/tree/main/Game): `Game`
- [Courtyard activities](https://github.com/henjicc/yipiantian/tree/main/Game): `Game`
- [Desktop viewing](https://github.com/henjicc/yipiantian/tree/main/Game): `Game`

### Village world

- [Village environment](https://github.com/henjicc/yipiantian/tree/main/Game): `Game`

### Asset authoring

- [Farmer character](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Characters/Farmer/p2-gongbi-20260918/prepare.py): `ArtSource/Characters/Farmer/p2-gongbi-20260918/prepare.py`
- [Crop assets](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Crops/Autumn2026/prepare.py): `ArtSource/Crops/Autumn2026/prepare.py`
- [Crop stage assets](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Crops/P2Stages20260919/prepare.py): `ArtSource/Crops/P2Stages20260919/prepare.py`
- [Tool assets](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Tools/20260919-icon-tools/prepare_tools.py): `ArtSource/Tools/20260919-icon-tools/prepare_tools.py`
- [Environment assets](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Environment/build_modules.py): `ArtSource/Environment/build_modules.py`
- [Courtyard life assets](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Environment/CourtyardLife/prepare.py): `ArtSource/Environment/CourtyardLife/prepare.py`
- [Lantern assets](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Decorations/Lantern/P2_20260923_r01/prepare.py): `ArtSource/Decorations/Lantern/P2_20260923_r01/prepare.py`
- [UI materials](https://github.com/henjicc/yipiantian/blob/main/ArtSource/UI/Pigment/build_materials.py): `ArtSource/UI/Pigment/build_materials.py`

### Audio authoring

- [Farm audio](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Audio/compose_farm_audio.py): `ArtSource/Audio/compose_farm_audio.py`
- [Season audio](https://github.com/henjicc/yipiantian/blob/main/ArtSource/Audio/compose_season_audio.py): `ArtSource/Audio/compose_season_audio.py`

### Desktop mode

- [Windows desktop helper](https://github.com/henjicc/yipiantian/blob/main/native/desktop/main.cpp): `native/desktop/main.cpp`

### Other components

- **Player**

## Connections

- Player → Farm runtime: plays (evidence: `README.md`)
- Farm runtime → Crop tending: offers planting (evidence: `README.md`)
- Player → Crop tending: tends crops (evidence: `README.md`)
- Player → Courtyard activities: arranges and visits (evidence: `README.md`)
- Player → Desktop viewing: switches viewing (evidence: `README.md`)
- Crop assets → Crop stage assets: authors stages
- Farm runtime → Village environment: presents setting (evidence: `README.md`)
- Season audio → Farm audio: imports helpers (evidence: `ArtSource/Audio/compose_season_audio.py`)
- Desktop viewing → Windows desktop helper: uses helper
