# luispablovillasenor-afk/shorts-animados-claude architecture

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

- Interactive diagram: https://gitdiagram.com/luispablovillasenor-afk/shorts-animados-claude
- Repository: https://github.com/luispablovillasenor-afk/shorts-animados-claude

## Overview

This repository is a Spanish-language Claude-guided toolkit for creating animated vertical shorts, with two production styles: cartoon scenes in Three.js/Remotion and realistic scenes in Blender. The documented workflow guides a creator from topic and script through shot planning, voice, previews, review, and rendering; the templates supply scene and audio building blocks. The map includes both example shorts, synthesized audio, and the Blender scenes. Evidence for some runtime wiring is limited to README claims and the source index; unsampled entry-point details are not inferred.

Main entry points: [`plantillas/puente/story.ts`](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/story.ts) (Story and shots), [`plantillas/puente/world.ts`](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/world.ts) (Bridge world), [`plantillas/audio/mix.py`](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/mix.py) (Audio mix), [`plantillas/audio/sfx.py`](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/sfx.py) (Sound effects)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Creator workflow"]
  node_story_planning["Story and shots<br/>[story.ts]"]
  node_voice["Voice track"]
  node_rendered_short["Rendered short"]
end

subgraph group_cartoon["Cartoon templates"]
  node_cartoon_alejandro["Alejandro world<br/>[world.ts]"]
  node_alejandro_art["Alejandro art<br/>[toon.ts]"]
  node_cartoon_bridge["Bridge world<br/>[world.ts]"]
  node_bridge_build["Scenery builder<br/>[build.ts]"]
  node_bridge_cast["Bridge cast<br/>[cast.ts]"]
  node_bridge_art["Bridge art<br/>[toon.ts]"]
  node_bridge_paint["Paint textures<br/>[paint.ts]"]
  node_bridge_ink["World ink<br/>[ink.ts]"]
end

subgraph group_audio["Audio production"]
  node_audio_timeline["Audio timeline<br/>[timeline.py]"]
  node_audio_music["Synthesized music<br/>[music.py]"]
  node_audio_sfx["Sound effects<br/>[sfx.py]"]
  node_audio_sfx_gen["SFX synthesis<br/>[sfx_gen.py]"]
  node_audio_dsp["Audio DSP<br/>[dsp.py]"]
  node_audio_mix["Audio mix<br/>[mix.py]"]
end

subgraph group_realistic["Blender templates"]
  node_blender_arm["Arm stitch scene<br/>[escena.py]"]
  node_blender_leg["Leg stitch scene<br/>[escena.py]"]
  node_blender_common["Blender helpers<br/>[comun.py]"]
end

subgraph group_review["Review tools"]
  node_review_measure["Short measurement<br/>[medir_30fps.py]"]
end

node_creator(("Short creator"))

node_creator -->|"plans shots"| node_story_planning
node_story_planning -->|"guides narration"| node_voice
node_story_planning -->|"plans cartoon"| node_cartoon_alejandro
node_story_planning -->|"plans cartoon"| node_cartoon_bridge
node_story_planning -->|"plans scene"| node_blender_arm
node_story_planning -->|"plans scene"| node_blender_leg
node_cartoon_alejandro -->|"uses drawing"| node_alejandro_art
node_cartoon_bridge -->|"uses scenery"| node_bridge_build
node_cartoon_bridge -->|"uses cast"| node_bridge_cast
node_cartoon_bridge -.->|"uses drawing"| node_bridge_art
node_bridge_build -->|"uses textures"| node_bridge_paint
node_bridge_build -->|"uses shading"| node_bridge_ink
node_bridge_cast -->|"uses drawing"| node_bridge_art
node_bridge_cast -->|"reads timeline"| node_story_planning
node_voice -->|"mixes with audio"| node_audio_mix
node_audio_timeline -.->|"times cues"| node_audio_music
node_audio_music -->|"uses DSP"| node_audio_dsp
node_audio_music -->|"reads timing"| node_audio_timeline
node_audio_sfx -->|"uses synthesis"| node_audio_sfx_gen
node_audio_sfx -->|"uses DSP"| node_audio_dsp
node_audio_sfx -->|"reads timing"| node_audio_timeline
node_audio_mix -->|"mixes music"| node_audio_music
node_audio_mix -->|"mixes effects"| node_audio_sfx
node_audio_mix -->|"uses DSP"| node_audio_dsp
node_blender_arm -->|"uses helpers"| node_blender_common
node_blender_leg -->|"uses helpers"| node_blender_common
node_cartoon_alejandro -->|"renders short"| node_rendered_short
node_cartoon_bridge -->|"renders short"| node_rendered_short
node_blender_arm -->|"renders frames"| node_rendered_short
node_blender_leg -->|"renders frames"| node_rendered_short
node_audio_mix -->|"provides soundtrack"| node_rendered_short
node_rendered_short -->|"measures at 30fps"| node_review_measure

click node_story_planning "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/story.ts"
click node_cartoon_alejandro "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/alejandro/world.ts"
click node_alejandro_art "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/alejandro/toon.ts"
click node_cartoon_bridge "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/world.ts"
click node_bridge_build "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/build.ts"
click node_bridge_cast "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/cast.ts"
click node_bridge_art "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/toon.ts"
click node_bridge_paint "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/paint.ts"
click node_bridge_ink "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/ink.ts"
click node_audio_timeline "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/timeline.py"
click node_audio_music "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/music.py"
click node_audio_sfx "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/sfx.py"
click node_audio_sfx_gen "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/sfx_gen.py"
click node_audio_dsp "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/dsp.py"
click node_audio_mix "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/mix.py"
click node_blender_arm "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/realista/blender/puntadas_brazo/escena.py"
click node_blender_leg "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/realista/blender/puntadas_pierna/escena.py"
click node_blender_common "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/realista/blender/comun.py"
click node_review_measure "https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/herramientas/medir_30fps.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_story_planning,node_voice,node_rendered_short toneBlue
class node_cartoon_alejandro,node_alejandro_art,node_cartoon_bridge,node_bridge_build,node_bridge_cast,node_bridge_art,node_bridge_paint,node_bridge_ink toneAmber
class node_audio_timeline,node_audio_music,node_audio_sfx,node_audio_sfx_gen,node_audio_dsp,node_audio_mix toneMint
class node_blender_arm,node_blender_leg,node_blender_common toneRose
class node_review_measure,node_creator toneIndigo
```

## Components

### Creator workflow

- [Story and shots](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/story.ts): `plantillas/puente/story.ts`
- **Voice track**
- **Rendered short**

### Cartoon templates

- [Alejandro world](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/alejandro/world.ts): `plantillas/alejandro/world.ts`
- [Alejandro art](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/alejandro/toon.ts): `plantillas/alejandro/toon.ts`
- [Bridge world](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/world.ts): `plantillas/puente/world.ts`
- [Scenery builder](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/build.ts): `plantillas/puente/build.ts`
- [Bridge cast](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/cast.ts): `plantillas/puente/cast.ts`
- [Bridge art](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/toon.ts): `plantillas/puente/toon.ts`
- [Paint textures](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/paint.ts): `plantillas/puente/paint.ts`
- [World ink](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/puente/ink.ts): `plantillas/puente/ink.ts`

### Audio production

- [Audio timeline](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/timeline.py): `plantillas/audio/timeline.py`
- [Synthesized music](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/music.py): `plantillas/audio/music.py`
- [Sound effects](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/sfx.py): `plantillas/audio/sfx.py`
- [SFX synthesis](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/sfx_gen.py): `plantillas/audio/sfx_gen.py`
- [Audio DSP](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/dsp.py): `plantillas/audio/dsp.py`
- [Audio mix](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/plantillas/audio/mix.py): `plantillas/audio/mix.py`

### Blender templates

- [Arm stitch scene](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/realista/blender/puntadas_brazo/escena.py): `realista/blender/puntadas_brazo/escena.py`
- [Leg stitch scene](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/realista/blender/puntadas_pierna/escena.py): `realista/blender/puntadas_pierna/escena.py`
- [Blender helpers](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/realista/blender/comun.py): `realista/blender/comun.py`

### Review tools

- [Short measurement](https://github.com/luispablovillasenor-afk/shorts-animados-claude/blob/main/herramientas/medir_30fps.py): `herramientas/medir_30fps.py`

### Other components

- **Short creator**

## Connections

- Short creator → Story and shots: plans shots (evidence: `README.md`)
- Story and shots → Voice track: guides narration (evidence: `README.md`)
- Story and shots → Alejandro world: plans cartoon (evidence: `README.md`)
- Story and shots → Bridge world: plans cartoon (evidence: `README.md`)
- Story and shots → Arm stitch scene: plans scene (evidence: `README.md`)
- Story and shots → Leg stitch scene: plans scene (evidence: `README.md`)
- Alejandro world → Alejandro art: uses drawing (evidence: `plantillas/alejandro/world.ts`)
- Bridge world → Scenery builder: uses scenery (evidence: `plantillas/puente/world.ts`)
- Bridge world → Bridge cast: uses cast (evidence: `plantillas/puente/world.ts`)
- Bridge world → Bridge art: uses drawing (evidence: `plantillas/puente/world.ts`)
- Scenery builder → Paint textures: uses textures (evidence: `plantillas/puente/build.ts`)
- Scenery builder → World ink: uses shading (evidence: `plantillas/puente/build.ts`)
- Bridge cast → Bridge art: uses drawing (evidence: `plantillas/puente/cast.ts`)
- Bridge cast → Story and shots: reads timeline (evidence: `plantillas/puente/cast.ts`)
- Voice track → Audio mix: mixes with audio (evidence: `README.md`)
- Audio timeline → Synthesized music: times cues (evidence: `plantillas/audio/music.py`)
- Synthesized music → Audio DSP: uses DSP (evidence: `plantillas/audio/music.py`)
- Synthesized music → Audio timeline: reads timing (evidence: `plantillas/audio/music.py`)
- Sound effects → SFX synthesis: uses synthesis (evidence: `plantillas/audio/sfx.py`)
- Sound effects → Audio DSP: uses DSP (evidence: `plantillas/audio/sfx.py`)
- Sound effects → Audio timeline: reads timing (evidence: `plantillas/audio/sfx.py`)
- Audio mix → Synthesized music: mixes music (evidence: `plantillas/audio/mix.py`)
- Audio mix → Sound effects: mixes effects (evidence: `plantillas/audio/mix.py`)
- Audio mix → Audio DSP: uses DSP (evidence: `plantillas/audio/mix.py`)
- Arm stitch scene → Blender helpers: uses helpers (evidence: `realista/blender/puntadas_brazo/escena.py`)
- Leg stitch scene → Blender helpers: uses helpers (evidence: `realista/blender/puntadas_pierna/escena.py`)
- Alejandro world → Rendered short: renders short (evidence: `README.md`)
- Bridge world → Rendered short: renders short (evidence: `README.md`)
- Arm stitch scene → Rendered short: renders frames (evidence: `README.md`)
- Leg stitch scene → Rendered short: renders frames (evidence: `README.md`)
- Audio mix → Rendered short: provides soundtrack (evidence: `README.md`)
- Rendered short → Short measurement: measures at 30fps (evidence: `README.md`)
