---
name: godot_map_asset_dir
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "def godot_map_asset_dir(kind: str) -> str"
description: "Mapea el tipo de asset (sprite, pixelart, tileset, vfx, sfx, music, model) a su subcarpeta canonica bajo res://assets/ de un proyecto Godot 4, segun la convencion del puente ComfyUI -> Godot. Pura: solo resuelve una ruta relativa POSIX, no toca disco. kind desconocido -> ValueError."
tags: [godot, gamedev-2d, core, assets, mapping]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
params:
  - name: kind
    desc: "tipo de asset: 'sprite', 'pixelart', 'tileset', 'vfx', 'sfx', 'music' o 'model' (case-insensitive, se ignoran espacios)."
output: "subruta relativa POSIX bajo assets/ (p.ej. 'sprites', 'tilesets', 'audio/music', 'models')."
tested: true
tests: [test_all_kinds, test_case_insensitive, test_unknown_kind_raises]
test_file_path: "python/functions/core/godot_map_asset_dir_test.py"
file_path: "python/functions/core/godot_map_asset_dir.py"
---

## Ejemplo

```python
import sys, os
sys.path.insert(0, os.path.join(os.environ["HOME"], "fn_registry", "python", "functions"))
from core.godot_map_asset_dir import godot_map_asset_dir

godot_map_asset_dir("pixelart")   # 'sprites'
godot_map_asset_dir("music")      # 'audio/music'
godot_map_asset_dir("model")      # 'models'
```

## Cuando usarla

Al construir la ruta destino de un asset dentro de un proyecto Godot (lo usa el
pipeline `comfyui_export_asset_to_godot`). Centraliza la convención tipo -> carpeta
para no esparcir el mapeo por varias funciones.

## Gotchas

- `pixelart` cae en `sprites/` (el pixelart no es una carpeta, es un atributo: lo
  que cambia es el filtro Nearest, no la ubicación).
- `kind` desconocido lanza `ValueError` (no devuelve un default silencioso).
- Devuelve siempre subrutas POSIX (`/`), no rutas absolutas: el llamador antepone
  `<proyecto>/assets/`.
