Skip to main content
Glama

TAIGA Texture es un laboratorio compacto de materiales procedimentales con un Texture DSL determinista que puede ser creado por personas o impulsado por un LLM.

TTX es la abreviatura técnica derivada de Taiga TeXture. Da nombre al formato de archivo y al conjunto de herramientas; el lenguaje en sí se llama Texture DSL.

Edita materiales en el navegador, inspecciona los canales PBR y una vista previa en cubo, y luego automatiza el mismo motor con CLI o MCP.

[ GALERÍA DE MATERIALES ]

Related MCP server: genart-mcp

Características

  • Texture DSL — campos puros, solo hacia adelante, con semillas deterministas y límites de coste en tiempo de compilación.

  • Workbench de materiales — edición de código en vivo, vistas de canales PBR, comprobaciones de teselado, deslizadores de parámetros y un cubo interactivo con iluminación de estudio.

  • Exportación ZIP PBR — descarga el material actual del navegador como Base Color, Height, OpenGL Normal, Roughness, Metallic, metadatos y su código fuente .ttx.

  • Biblioteca procedimental — cerámica, cuero, cuero cosido, roble, granito, lona, acero oxidado, mármol y tierra agrietada multiescala.

  • Superficie de herramientas para LLM — diagnósticos de validación estructurados, análisis determinista, renderizado PNG, inspección multiescala, CLI y MCP por stdio.

  • Sin paquetes en tiempo de ejecución — el workbench del navegador es un único archivo HTML; las herramientas de automatización usan funciones integradas de Node.js.

Ejecución local

Clona el repositorio y abre ttx-bench.html en un navegador compatible con WebGL 2.

git clone https://github.com/kawaiiTaiga/taigas-texture.git
cd taigas-texture

En Windows:

Start-Process .\ttx-bench.html

Verificación opcional:

npm test

Exportar a Blender, Unity, Unreal o Godot

En el workbench del navegador, elige la resolución de vista previa y pulsa PBR export → download .zip. El archivo contiene cinco mapas PNG estándar, material.json, una breve nota de integración y el código fuente .ttx autoritativo.

Usa Base Color como sRGB. Carga Height, Normal, Roughness y Metallic como datos Non-Color/Linear. El mapa de normales sigue OpenGL (+Y); invierte su canal verde para un flujo de trabajo de normales DirectX.

CLI

# Discover bundled and library materials
node ttx-cli.mjs examples --json

# Validate one example
node ttx-cli.mjs validate --example saddle --json

# Render PBR views
node ttx-cli.mjs render --example ceramic --out renders/ceramic --resolution 256 --json

# Inspect the same point across scales
node ttx-cli.mjs render-scales materials/parched-earth.ttx \
  --out renders/parched-earth --zooms 1,4,16,64 --center 0.5,0.5 --json

MCP

Inicia el servidor stdio sin dependencias:

node ttx-mcp-server.mjs

Ejemplo de configuración MCP:

{
  "mcpServers": {
    "taigas-texture": {
      "command": "node",
      "args": ["<ABSOLUTE_PATH>/ttx-mcp-server.mjs"]
    }
  }
}

Herramientas expuestas:

  • list_material_examples

  • get_material_example

  • validate_material

  • render_material

  • render_material_multiscale

Ejemplo de material

seed = 17
tile = 1
var glaze_h = 0.53

field cells = worley(u, v, freq=15, jitter=1, out=edge, seed=3)
field crack = 1 - smoothstep(0.004, 0.052, cells)
field h = clamp(0.52 - 0.11*crack, 0, 1)

out height = h
out albedo = hsv(glaze_h, 0.42, 0.72*(1 - 0.48*crack))
out rough = clamp(0.20 + 0.44*crack, 0, 1)
out metal = 0

Related MCP Connectors

Related MCP Servers