# feitangyuan/onetake architecture

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

- Interactive diagram: https://gitdiagram.com/feitangyuan/onetake
- Repository: https://github.com/feitangyuan/onetake

## Overview

onetake is a Claude Agent Skill and toolkit for creating continuous-take product films, from reference analysis and concept planning through composition, rendering, and continuity checks. Its README also documents rebuilt product UI, measured motion, motion blur, event-based sound, and multilingual narration. The source excerpts show the motion/UI helpers and parts of rendering, sound, reference analysis, probing, and verification; links for other documented capabilities are included only where the README supports them.

Main entry points: [`templates/comp.html`](https://github.com/feitangyuan/onetake/blob/main/templates/comp.html) (HTML composition), [`scripts/render.py`](https://github.com/feitangyuan/onetake/blob/main/scripts/render.py) (Film renderer), [`SKILL.md`](https://github.com/feitangyuan/onetake/blob/main/SKILL.md) (Film workflow), [`scripts/analyze_ref.py`](https://github.com/feitangyuan/onetake/blob/main/scripts/analyze_ref.py) (Reference analysis)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_planning["Planning"]
  node_skill["Film workflow<br/>[SKILL.md]"]
  node_reference["Reference analysis<br/>[analyze_ref.py]"]
  node_concept["Concept and beats<br/>[SKILL.md]"]
  node_look["Visual look<br/>[look.py]"]
end

subgraph group_composition["Composition"]
  node_composition["HTML composition<br/>[comp.html]"]
  node_motion["Motion library<br/>[motion.js]"]
  node_ui["UI reconstruction<br/>[ui_kit.js]"]
  node_narration["Narration and subtitles<br/>[vo_tools.py]"]
  node_footage["Live footage capture<br/>[record_footage.py]"]
end

subgraph group_production["Production"]
  node_renderer["Film renderer<br/>[render.py]"]
  node_sound["Sound scoring<br/>[sfx_palette.py]"]
  node_score["Sound event score"]
  node_film["Rendered film"]
end

subgraph group_evaluation["Evaluation"]
  node_probe["Motion probe<br/>[probe.py]"]
  node_verifier["Film verification<br/>[verify_promo.py]"]
end

node_creator(("Creator"))
node_browser["Chromium"]

node_creator -->|"requests film"| node_skill
node_skill -->|"analyzes reference"| node_reference
node_skill -->|"plans beats"| node_concept
node_reference -->|"informs concepts"| node_concept
node_concept -->|"guides composition"| node_composition
node_look -->|"styles composition"| node_composition
node_motion -->|"supplies motion"| node_composition
node_ui -->|"rebuilds interface"| node_composition
node_narration -->|"provides narration"| node_composition
node_footage -.->|"captures footage"| node_composition
node_composition -->|"renders frames"| node_renderer
node_renderer -->|"captures frames"| node_browser
node_score -->|"places sound events"| node_sound
node_sound -->|"supplies sound"| node_renderer
node_renderer -->|"encodes film"| node_film
node_film -->|"checks film"| node_verifier
node_verifier -->|"probes composition"| node_probe
node_composition -->|"samples motion"| node_probe

click node_skill "https://github.com/feitangyuan/onetake/blob/main/SKILL.md"
click node_reference "https://github.com/feitangyuan/onetake/blob/main/scripts/analyze_ref.py"
click node_concept "https://github.com/feitangyuan/onetake/blob/main/SKILL.md"
click node_look "https://github.com/feitangyuan/onetake/blob/main/scripts/look.py"
click node_composition "https://github.com/feitangyuan/onetake/blob/main/templates/comp.html"
click node_motion "https://github.com/feitangyuan/onetake/blob/main/lib/motion.js"
click node_ui "https://github.com/feitangyuan/onetake/blob/main/lib/ui_kit.js"
click node_narration "https://github.com/feitangyuan/onetake/blob/main/scripts/vo_tools.py"
click node_footage "https://github.com/feitangyuan/onetake/blob/main/scripts/record_footage.py"
click node_renderer "https://github.com/feitangyuan/onetake/blob/main/scripts/render.py"
click node_sound "https://github.com/feitangyuan/onetake/blob/main/scripts/sfx_palette.py"
click node_score "https://github.com/feitangyuan/onetake/blob/main/templates/sfx_score.example.py"
click node_probe "https://github.com/feitangyuan/onetake/blob/main/scripts/probe.py"
click node_verifier "https://github.com/feitangyuan/onetake/blob/main/scripts/verify_promo.py"

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_skill,node_reference,node_concept,node_look toneBlue
class node_composition,node_motion,node_ui,node_narration,node_footage toneAmber
class node_renderer,node_sound,node_score,node_film toneMint
class node_probe,node_verifier toneRose
class node_creator,node_browser toneIndigo
```

## Components

### Planning

- [Film workflow](https://github.com/feitangyuan/onetake/blob/main/SKILL.md): `SKILL.md`
- [Reference analysis](https://github.com/feitangyuan/onetake/blob/main/scripts/analyze_ref.py): `scripts/analyze_ref.py`
- [Concept and beats](https://github.com/feitangyuan/onetake/blob/main/SKILL.md): `SKILL.md`
- [Visual look](https://github.com/feitangyuan/onetake/blob/main/scripts/look.py): `scripts/look.py`

### Composition

- [HTML composition](https://github.com/feitangyuan/onetake/blob/main/templates/comp.html): `templates/comp.html`
- [Motion library](https://github.com/feitangyuan/onetake/blob/main/lib/motion.js): `lib/motion.js`
- [UI reconstruction](https://github.com/feitangyuan/onetake/blob/main/lib/ui_kit.js): `lib/ui_kit.js`
- [Narration and subtitles](https://github.com/feitangyuan/onetake/blob/main/scripts/vo_tools.py): `scripts/vo_tools.py`
- [Live footage capture](https://github.com/feitangyuan/onetake/blob/main/scripts/record_footage.py): `scripts/record_footage.py`

### Production

- [Film renderer](https://github.com/feitangyuan/onetake/blob/main/scripts/render.py): `scripts/render.py`
- [Sound scoring](https://github.com/feitangyuan/onetake/blob/main/scripts/sfx_palette.py): `scripts/sfx_palette.py`
- [Sound event score](https://github.com/feitangyuan/onetake/blob/main/templates/sfx_score.example.py): `templates/sfx_score.example.py`
- **Rendered film**

### Evaluation

- [Motion probe](https://github.com/feitangyuan/onetake/blob/main/scripts/probe.py): `scripts/probe.py`
- [Film verification](https://github.com/feitangyuan/onetake/blob/main/scripts/verify_promo.py): `scripts/verify_promo.py`

### Other components

- **Creator**
- **Chromium**

## Connections

- Creator → Film workflow: requests film
- Film workflow → Reference analysis: analyzes reference
- Film workflow → Concept and beats: plans beats
- Reference analysis → Concept and beats: informs concepts
- Concept and beats → HTML composition: guides composition
- Visual look → HTML composition: styles composition
- Motion library → HTML composition: supplies motion
- UI reconstruction → HTML composition: rebuilds interface
- Narration and subtitles → HTML composition: provides narration
- Live footage capture → HTML composition: captures footage
- HTML composition → Film renderer: renders frames
- Film renderer → Chromium: captures frames
- Sound event score → Sound scoring: places sound events
- Sound scoring → Film renderer: supplies sound
- Film renderer → Rendered film: encodes film
- Rendered film → Film verification: checks film
- Film verification → Motion probe: probes composition
- HTML composition → Motion probe: samples motion
