# yym8224961/world.execute-me-ascii architecture

> Architecture diagram of the GitHub repository yym8224961/world.execute-me-ascii, 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/yym8224961/world.execute-me-ascii
- Repository: https://github.com/yym8224961/world.execute-me-ascii

## Overview

This is a macOS terminal music-video player for Mili’s “world.execute(me);”. The principal workflow is to start playback in a terminal, synchronize the display to the audio clock, and render the lyric-driven animation with bilingual subtitles and spectrum visuals. The player delegates animation drawing to scenes.py and audio playback and timing to AudioClock.swift. The README documents the subtitle and spectrum capabilities, but the available excerpts do not show how the player loads the individual subtitle or spectrum files, so those links are marked unverified.

Main entry points: [`player.py`](https://github.com/yym8224961/world.execute-me-ascii/blob/main/player.py) (Player), [`AudioClock.swift`](https://github.com/yym8224961/world.execute-me-ascii/blob/main/AudioClock.swift) (Audio clock), [`scenes.py`](https://github.com/yym8224961/world.execute-me-ascii/blob/main/scenes.py) (Scene choreography), [`双语字幕.srt`](https://github.com/yym8224961/world.execute-me-ascii/blob/main/%E5%8F%8C%E8%AF%AD%E5%AD%97%E5%B9%95.srt) (Bilingual subtitles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_playback["Playback"]
  node_player["Player<br/>[player.py]"]
  node_clock["Audio clock<br/>[AudioClock.swift]"]
end

subgraph group_visuals["Visuals"]
  node_scenes["Scene choreography<br/>[scenes.py]"]
end

subgraph group_media["Media assets"]
  node_audio["Audio file"]
  node_captions["Bilingual subtitles<br/>[双语字幕.srt]"]
  node_lyrics["Bilingual lyrics<br/>[双语歌词.lrc]"]
  node_spectrum["Spectrum data<br/>[spectrum.json]"]
  node_config["Player settings<br/>[config.json]"]
end

node_viewer(("Terminal viewer"))

node_viewer -->|"operates"| node_player
node_player -->|"controls"| node_clock
node_clock -->|"plays"| node_audio
node_player -->|"draws scenes"| node_scenes
node_player -.->|"loads subtitles"| node_captions
node_player -.->|"uses lyrics"| node_lyrics
node_player -.->|"uses spectrum"| node_spectrum
node_player -.->|"reads settings"| node_config

click node_player "https://github.com/yym8224961/world.execute-me-ascii/blob/main/player.py"
click node_clock "https://github.com/yym8224961/world.execute-me-ascii/blob/main/AudioClock.swift"
click node_scenes "https://github.com/yym8224961/world.execute-me-ascii/blob/main/scenes.py"
click node_captions "https://github.com/yym8224961/world.execute-me-ascii/blob/main/%E5%8F%8C%E8%AF%AD%E5%AD%97%E5%B9%95.srt"
click node_lyrics "https://github.com/yym8224961/world.execute-me-ascii/blob/main/%E5%8F%8C%E8%AF%AD%E6%AD%8C%E8%AF%8D.lrc"
click node_spectrum "https://github.com/yym8224961/world.execute-me-ascii/blob/main/spectrum.json"
click node_config "https://github.com/yym8224961/world.execute-me-ascii/blob/main/config.json"

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_player,node_clock,node_viewer toneBlue
class node_scenes toneAmber
class node_audio,node_captions,node_lyrics,node_spectrum,node_config toneMint
```

## Components

### Playback

- [Player](https://github.com/yym8224961/world.execute-me-ascii/blob/main/player.py): `player.py`
- [Audio clock](https://github.com/yym8224961/world.execute-me-ascii/blob/main/AudioClock.swift): `AudioClock.swift`

### Visuals

- [Scene choreography](https://github.com/yym8224961/world.execute-me-ascii/blob/main/scenes.py): `scenes.py`

### Media assets

- **Audio file**
- [Bilingual subtitles](https://github.com/yym8224961/world.execute-me-ascii/blob/main/%E5%8F%8C%E8%AF%AD%E5%AD%97%E5%B9%95.srt): `双语字幕.srt`
- [Bilingual lyrics](https://github.com/yym8224961/world.execute-me-ascii/blob/main/%E5%8F%8C%E8%AF%AD%E6%AD%8C%E8%AF%8D.lrc): `双语歌词.lrc`
- [Spectrum data](https://github.com/yym8224961/world.execute-me-ascii/blob/main/spectrum.json): `spectrum.json`
- [Player settings](https://github.com/yym8224961/world.execute-me-ascii/blob/main/config.json): `config.json`

### Other components

- **Terminal viewer**

## Connections

- Terminal viewer → Player: operates (evidence: `README.md`)
- Player → Audio clock: controls (evidence: `player.py`)
- Audio clock → Audio file: plays (evidence: `AudioClock.swift`)
- Player → Scene choreography: draws scenes (evidence: `player.py`)
- Player → Bilingual subtitles: loads subtitles
- Player → Bilingual lyrics: uses lyrics
- Player → Spectrum data: uses spectrum
- Player → Player settings: reads settings
