Communitygithub.com

dirección-de-escena

Dirección artística, activos reales y una verificación visual para sitios web 3D creados con three.js, React Three Fiber o WebGL, como sitios inmersivos basados en scroll, portafolios, lanzamientos de productos, historias de marca y lugar, y héroes 3D. Un script reparte una dirección investigada (estado de ánimo, luz, paleta, tipografía, acabado, un plano por escena), para que los builds no converjan en el aspecto generado (orbe brillante, campo estelar, globo punteado, objeto gris en el vacío, el mismo diseño seguro en todas partes). Un iniciador trae un pipeline de nivel de premio (luz HDRI, oclusión ambiental, bloom, mapeo de tonos, scroll suave, revelaciones de texto, introducción, chrome del sitio), y un segundo script obtiene modelos CC0, texturas y HDRIs para el mundo que rodea al sujeto. La habilidad renderiza el sitio en tamaños de escritorio y teléfono, filma el scroll, verifica la usabilidad y corrige lo que está roto. Úsalo al construir o rediseñar cualquier sitio web, sección o héroe 3D o WebGL.

¿Qué es dirección-de-escena?

La habilidad `dirección-de-escena` para agentes de IA (como Claude Code, Cursor o Codex) proporciona una dirección artística completa y un pipeline de verificación visual para sitios web 3D construidos con three.js, React Three Fiber o WebGL. Está diseñada para evitar el aspecto genérico de 'demo 3D' y guiar al agente para crear sitios inmersivos con una dirección visual única, activos reales (modelos CC0, texturas, HDRIs) y un acabado de nivel de premio. La habilidad funciona en varios pasos: primero, un script 'draw' reparte una dirección creativa (estado de ánimo, luz, paleta, tipografía, plano por escena) basada en el sujeto del sitio. Luego, un script 'get assets' descarga activos CC0 para construir el mundo alrededor del sujeto. Un iniciador HTML proporciona la infraestructura completa (HDRI, AO, bloom, mapeo de tonos, scroll suave, revelaciones de texto) que el agente adapta. Finalmente, un script 'check' renderiza el sitio en escritorio y móvil, filma el scroll, verifica la velocidad de fotogramas, el peso de la página y la usabilidad, e informa problemas. El agente puede iterar corrigiendo los errores más importantes (hasta tres rondas) y debe generar un informe final. La habilidad prioriza la ambición sobre la seguridad: planos diferentes por escena, héroe grande, un mundo (no un objeto en el vacío), atmósfera rica, tipografía con voz y un sitio completo (con cabecera, índice y pie de página).

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/boranfurkan/scene-direction/tree/HEAD/skills/scene-direction

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Dirección de escena

Cuando se pide "un sitio 3D inmersivo", un modelo construye el promedio de todos los demos 3D que ha visto: un orbe que respira en una noche púrpura, un globo punteado con arcos, un producto gris sobre un suelo gris, o el mismo diseño dividido y ordenado en cada sección. Los sitios que ganan premios hacen algo diferente: una idea del sujeto, un mundo alrededor de su propio objeto, una cámara que cambia de plano con cada latido de la historia, luz con una fuente y un acabado graduado, tipografía con voz, algo con lo que jugar, y el chrome de un sitio real. Y funcionan sin problemas en un teléfono.

Esta habilidad te da una dirección repartida, una biblioteca de activos, un iniciador con el pipeline de acabado completo, y una verificación que renderiza tu página como la ven un visitante y un jurado. Es dueña de la dirección 3D. Si las habilidades de diseño de página (taste-skill, impeccable, hallmark), las habilidades de API de three.js (cloudai-x/threejs-skills) o las habilidades oficiales de GSAP están instaladas, úsalas para esas partes.

<skill> a continuación es la carpeta de esta habilidad. Ejecuta los scripts desde la carpeta del proyecto.

La ejecución

  1. Inventario. Enumera lo que es real: el nombre del sujeto, qué hace o vende, su lugar, sus números, sus artefactos, y cualquier modelo o imagen proporcionada. Un modelo proporcionado es el héroe (references/object.md).
  2. Reparte la dirección. Si te dejan solo, elegirás el valor predeterminado de la categoría, así que deja que el script reparta:
    node <skill>/scripts/draw.mjs --kind <persona|creador|producto|lugar|marca|evento|...> --brief "<una línea>"
    node <skill>/scripts/draw.mjs --direction <id elegida> --brief "<una línea>" --scenes <n>
    
    Elige la de las tres que pueda llevar algo que solo este sujeto tiene, no la más familiar. El segundo comando escribe .scene-direction/sheet.md en el proyecto: el estado de ánimo, el mundo, la luz, el acabado, los activos a buscar, los suelos, las fuentes, y una colocación de plano y copia para cada escena. Adóptalo. Vuelve a repartir solo por una razón que puedas enunciar, y dilo en el informe.
  3. Idea y cosa viva (references/idea-and-devices.md). En este sitio, [una cosa que pertenece al sujeto] se convierte en [el mundo o dispositivo de la dirección]. Debe fallar la prueba del competidor. Añade la única cosa viva. Lee references/tells.md.
  4. Obtén los activos (references/assets.md). Ejecuta los comandos assets.mjs de la hoja: el HDRI, y según la fidelidad de la hoja, los accesorios y superficies para el mundo alrededor del sujeto. Mira las hojas de contactos antes de elegir, luego obténlos en assets/.
  5. Construye desde <skill>/assets/starter.html. Es infraestructura, no un diseño: lienzo a sangre completa cuyo fondo es el suelo CSS, la cadena de acabado (HDRI, AO, bloom, viñeta, mapeo de tonos, SMAA), SHOTS para la cámara, colocación de copia por escena con visillos, un reloj (gsap.ticker + Lenis), revelaciones de línea, una introducción corta, el encabezado, el índice y el pie de página, deriva del puntero, movimiento reducido y pasos de calidad. Completa su FINISH desde la hoja y el data-ground, data-shot, data-copy y data-chapter de cada sección. Reemplaza el texto de marcador de posición, el título y la descripción. En Vite o Next.js, trasplanta sus piezas.
  6. Crea el mundo y el objeto (references/object.md, colour-world.md, finish.md). Modela la propia cosa del sujeto según el estándar de object.md, luego colócala en algún lugar: los accesorios y superficies que obtuviste, una habitación, un valle, la colección. Ilumínalo con el equipo de la hoja y una fuente dentro del encuadre.
  7. Historia, planos y movimiento (references/scenes-and-motion.md, motion-and-type.md). Cada escena obtiene un latido, el plano de la hoja y una declaración en la cara de visualización. Para un lugar, la cámara viaja a través del mundo a lo largo de una ruta (escenas de path), nunca alrededor de un diorama. Planifica el viaje de la cámara, la versión de teléfono y el movimiento reducido. Viste el chrome en el lenguaje del sujeto (references/chrome.md).
  8. Verifica.
    node <skill>/scripts/check.mjs <carpeta-o-url> --out scene-check     # añade --click "Enter" para una puerta de introducción
    
    Necesita Playwright (npm i -D playwright && npx playwright install chromium, en una carpeta temporal si el proyecto no debe tener la dependencia). Graba cada escena en su punto de reposo en escritorio y teléfono (scene-check/film-escritorio.png, film-telefono.png), carga la página de nuevo con movimiento reducido, e informa el tiempo de fotograma, el peso de la página y cuánto tarda la introducción. Lee cada imagen que escribe.
  9. Mira y corrige: los tres principales, hasta tres rondas (references/critique.md). Puntúa la rúbrica a partir de las imágenes, corrige las tres cosas más débiles, verifica y mira de nuevo. Corrige los hallazgos con el cambio más pequeño que mantenga el diseño. Si un hallazgo es deliberado (tipografía en capas, un recorte deliberado, un objeto que se eleva desde abajo del pliegue), mantenlo y nómbralo.
  10. Informe. Da la dirección, la frase de la idea, la cosa viva, los activos que usaste, el resultado de la verificación, tus puntuaciones, y lo que mantuviste a propósito.

Ambición, no moderación

En pruebas ciegas, un juez prefirió la página rica y atmosférica con un pequeño defecto a la página ordenada y segura sin ninguno, cada vez que hubo una elección entre ellas. Eliminar defectos es la mitad del trabajo. La otra mitad es la sustancia:

  • A sangre completa. El 3D es dueño de la pantalla. La copia se asienta sobre ella con un visillo, o junto al objeto mientras el render se aleja de ella.
  • Un plano diferente en cada escena. No uses la misma cámara con la copia intercambiada. La verificación marca una página que muestra uno o dos planos a lo largo de todo el scroll.
  • Un héroe grande. En la primera pantalla, el objeto o el mundo llena la mayor parte del encuadre, junto al nombre configurado en grande.
  • Un mundo, no un objeto en el vacío. La habitación, la mesa, la tierra, la colección, los accesorios que pertenecen al sujeto, a escala real.
  • Atmósfera y acabado. Luz con una hora del día y una dirección, una fuente dentro de la escena que brilla, sombras de contacto, un encuadre graduado. Rico, no lechoso: cada encuadre tiene un oscuro verdadero y un color saturado; niebla solo para la distancia en un mundo, nunca sobre el sujeto.
  • Tipografía con voz. La cara de visualización de la hoja en tamaños de visualización, con palabras y números reales del inventario, que llegan línea por línea.
  • Un sitio, no un demo. Un encabezado, un índice, un pie de página con un contacto real, una introducción de unos 2 segundos.

El suelo: nunca enviar estos

  • Un ERROR de la verificación: un cuelgue, un lienzo en blanco, una carga fallida (también con movimiento reducido).
  • El sujeto recortado accidentalmente o pequeño en la primera pantalla del teléfono.
  • Una declaración que no se puede leer en el punto de reposo de su escena, o tramos del scroll sin palabras.
  • Un diseño más ancho que el teléfono.
  • Un cursor nativo oculto, un título, descripción o h1 faltantes, o copia de marcador de posición.
  • Una introducción que mantiene al visitante esperando más de unos segundos, o fotogramas más lentos que 40 fps en la GPU de la verificación.
  • Una versión de three.js obsoleta o no coincidente. Usa la versión del proyecto, o las de abajo.

Corrección por etiqueta

  • [errores]: corrige el primer error antes que cualquier otra cosa. Las causas comunes son argumentos de constructor intercambiados, un let/const usado antes de su declaración, URLs de addon en otra versión, una entrada de mapa de importación faltante, 404s, y texturas bloqueadas por CORS.
  • [encuadre]: encuadra por plano para la relación de aspecto actual (references/framing.md).
  • [ambición]: dale a cada escena su propio plano de la hoja (references/scenes-and-motion.md).
  • [historia]: fotogramas sin declaración. Mantén las palabras de cada escena en pantalla mientras su escena está en pantalla, y desvanece solo en la transición (el bucle del iniciador hace esto).
  • [etiquetas]: texto y etiquetas superpuestos o recortados; barras de herramientas en teléfonos (references/labels.md).
  • [legibilidad]: calma la escena detrás del texto o refuerza el visillo antes de mover cualquier cosa (references/legibility.md). Las superficies claras que florecen son demasiado brillantes: baja las luces, no el umbral.
  • [usabilidad]: lo básico del jurado: cursor nativo, título, descripción, idioma, un h1, texto alternativo, movimiento reducido (references/chrome.md).
  • [rendimiento]: relación de píxeles, tamaño del mapa de sombras, calidad de AO, menos accesorios, texturas más pequeñas (references/finish.md §7).

Versiones fijadas

Verificado en npm y jsDelivr el 2026-11-03 (el mapa de importación del iniciador):

{ "three": "https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js",
  "three/addons/": "https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/",
  "three/examples/jsm/": "https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/",
  "postprocessing": "https://cdn.jsdelivr.net/npm/[email protected]/build/index.js",
  "n8ao": "https://cdn.jsdelivr.net/npm/[email protected]/dist/N8AO.js",
  "gsap": "https://cdn.jsdelivr.net/npm/[email protected]/index.js",
  "gsap/": "https://cdn.jsdelivr.net/npm/[email protected]/",
  "lenis": "https://cdn.jsdelivr.net/npm/[email protected]/dist/lenis.mjs" }

n8ao importa three/examples/jsm/…, así que mantén esa entrada. postprocessing 6.39 soporta three hasta r187. Notas de r187: PCFSoftShadowMap ha desaparecido (usa PCFShadowMap con shadow.radius); HDRLoader reemplaza a RGBELoader; outputEncoding/sRGBEncoding han desaparecido. GSAP 3.13+ incluye SplitText (gsap/SplitText.js).

Referencias

ArchivoLéelo cuándo
references/idea-and-devices.mdpaso 3: la frase de la idea, dispositivos, la cosa viva
references/tells.mdpaso 3, y de nuevo antes de informar
references/assets.mdpaso 4: fidelidad, encontrar y colocar accesorios, superficies, presupuesto
references/object.mdpaso 6: modelos proporcionados (incluyendo variantes de color), el estándar para objetos construidos con código, detalles, materiales
references/colour-world.mdpaso 6: paleta al fondo, luces y materiales; mapeo de tonos; niebla; grano
references/finish.mdpaso 6: equipos de luz, el HDRI, sombras de contacto y AO, la cadena de post, rendimiento
references/scenes-and-motion.mdpaso 7: latidos, el vocabulario de planos, viaje de la cámara, rutas, el teléfono
references/motion-and-type.mdpaso 7: un reloj, ease y duraciones, revelaciones, la introducción, escala tipográfica, movimiento reducido
references/chrome.mdpaso 7: encabezado, índice, pie de página, cursor, marcado, sonido
references/critique.mdpaso 9: la rúbrica y el bucle de mirar y corregir
references/framing.md, labels.md, legibility.mdcorregir un hallazgo con esa etiqueta
references/example-furkanboran.mdpara ver el estándar: un sitio real desmontado
library/directions.jsonlas doce direcciones que el script reparte

Créditos

Las direcciones repartidas, la frase de la idea, la prueba del competidor, "una cosa viva", el bucle de mirar y corregir y la advertencia de que la moderación por sí sola parece delgada están adaptados de taste-skill (MIT). La firma y la rotación de direcciones provienen de hallmark (MIT), el modo Experiencia de impeccable (Apache-2.0), y el vocabulario de arquetipos de awwwards-3d (MIT). Los modelos, texturas y HDRIs provienen de Poly Haven (CC0). El ejemplo trabajado, y los patrones adaptados del mismo, son de furkanboran.info por Furkan Boran. Ver README.md.

Skills relacionados