> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-es/scenes-sdk7/tipos-de-proyectos/scene-files.md).

# Archivos de escena

Archivos predeterminados creados en una escena nueva.

Después de [crear una nueva escena](/creator/content-creator-es/scenes-sdk7/primeros-pasos/sdk-101.md), la carpeta de la escena tendrá una serie de archivos con contenido predeterminado.

## Archivos predeterminados en una escena

Las escenas incluyen los siguientes archivos:

* **src/index.ts**: El punto de entrada de la escena.
* **scene.json**: El manifiesto que contiene metadatos de la escena.
* **archivo package.json** y **package-lock.json**: Especifica las versiones de todas las dependencias de la escena.
* **tsconfig.json**: Archivo de configuración de TypeScript.
* **.dclignore**: Enumera los archivos de tu proyecto que no se subirán cuando publiques tu escena.
* **assets/scene/main.composite**: Archivo generado automáticamente que incluye todo lo que agregaste y configuraste visualmente en el Scene Editor en Creator Hub. No está pensado para ser legible por personas. Es un ejemplo de un [composite](/creator/content-creator-es/scenes-sdk7/arquitectura/composites.md), un archivo que describe un árbol de entities y components. Las escenas creadas mediante la CLI, en cambio, incluyen un `main.crdt` archivo en el nivel raíz.

### index.ts

Este es el punto de entrada al código personalizado de tu escena. Podrías incluir toda la lógica de tu escena en este archivo, aunque, para mayor claridad, en la mayoría de los casos recomendamos distribuir tu código en varios otros *.ts* archivos.

Si solo dependes del Scene Editor y [Smart Items](/creator/content-creator-es/scene-editor/interactividad/smart-items.md), no necesitarás modificar este archivo.

Si tienes intención de escribir código personalizado, lo más probable es que solo necesites editar este y otros archivos .ts para crear tu escena. Contiene el código que genera los [entities, components](/creator/content-creator-es/scenes-sdk7/arquitectura/entities-components.md) y [systems](/creator/content-creator-es/scenes-sdk7/arquitectura/systems.md) de tu escena.

Al ejecutar la escena, el contenido de tus `.ts` archivos se compila en un único `.js` archivo, `bin/index.js`. Al compilar para producción, este archivo también se minimiza.

{% hint style="warning" %}
**📔 Nota**: Puedes usar otra herramienta o lenguaje en lugar de TypeScript, siempre que tus scripts estén contenidos dentro de un único archivo JavaScript (bin/index.js). Todas las declaraciones de tipos proporcionadas están hechas en TypeScript, y otros lenguajes y transpilers no están admitidos oficialmente.
{% endhint %}

### scene.json

El *scene.json* archivo es un manifiesto con formato JSON para una escena en el mundo. Una escena puede abarcar una sola o múltiples parcelas LAND. El *scene.json* manifiesto describe qué objetos existen en la escena, una lista de cualquier asset necesario para renderizarla, la información de contacto del propietario de la parcela y la configuración de seguridad.

La mayoría de los campos del *scene.json* archivo se pueden editar directamente en la UI del Scene Editor. Ver [Ajustes de la escena](/creator/content-creator-es/scene-editor/primeros-pasos/scene-editor-essentials.md#scene-settings).

![](https://1216664193-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-ce1891d01c48a1142117a2d2a4576dfa1d11796c%2Fthumbnail-image.png?alt=media\&token=37e2284f-a33b-424a-a98e-b766453771ed)

Para más información, consulta [metadatos de la escena](/creator/content-creator-es/scenes-sdk7/tipos-de-proyectos/scene-metadata.md#metadata).

Todos estos metadatos son opcionales para previsualizar la escena localmente, pero parte de ellos es necesaria para desplegarla. Puedes cambiar esta información manualmente en cualquier momento.

### archivo package.json

Este archivo proporciona información a NPM que le permite identificar el proyecto, así como gestionar las dependencias del proyecto. Las escenas de Decentraland requieren un paquete principal:

* **@dcl/sdk**: La dependencia fundamental del Decentraland SDK, incluyendo definiciones y tipos para el engine, components, systems, etc.
* **@dcl/js-runtime**: Una serie de declaraciones de tipos que facilita la integración de @dcl/sdk.

Tu escena puede incluir cualquier número de otros paquetes, por ejemplo para incluir [bibliotecas](https://studios.decentraland.org/resources?sdk_version=SDK7\&resource_type=Library) que pueden ayudar a facilitar la escritura de código, o habilitar funcionalidades especiales.

### package-lock.json

Este archivo enumera las versiones de todas las demás dependencias del proyecto. Estas versiones están fijadas, lo que significa que el compilador usará literalmente la misma versión menor que se enumera aquí.

Puedes cambiar manualmente la versión de cualquier paquete editando este archivo.

### tsconfig.json

Directorios que contienen un *tsconfig.json* archivo son directorios raíz para proyectos de TypeScript. El *tsconfig.json* archivo especifica los archivos raíz y las opciones necesarias para compilar tu proyecto de TypeScript a JavaScript.

Al instalar cualquier biblioteca adicional en tu escena, una entrada debería añadirse automáticamente a este archivo. Para instalar bibliotecas utils de Decentraland, no debería ser necesario hacer ningún cambio manual en este archivo.

## Ubicaciones recomendadas de archivos

Ten en cuenta que, cuando despliegues tu escena en Decentraland, cualquier asset o biblioteca externa que sea necesaria para usar tu escena debe estar empaquetada dentro de la carpeta de la escena o disponible a través de un servidor remoto.

Cualquier cosa que esté destinada a ejecutarse en el cliente del jugador debe estar ubicada dentro de la carpeta de la escena. No deberías hacer referencia a archivos o bibliotecas que estén instalados en otra parte de tu máquina local, porque no estarán disponibles para la escena desplegada.

Te sugerimos usar estos nombres de carpeta de forma consistente para almacenar los distintos tipos de assets que tu escena podría necesitar:

* Modelos 3D: `assets/scene/models`
* Videos: `assets/scene/videos`
* Archivos de sonido: `assets/scene/sounds`
* Archivos de imagen para texturas (excepto para modelos glTF): `assets/scene/materials`
* *.ts* definiciones de components `/src/components`
* *.ts* definiciones de systems `/src/systems`

{% hint style="warning" %}
**📔 Nota**: Los archivos de soporte para modelos glTF, como sus archivos de imagen de texturas o *.bin* archivos, siempre deben colocarse en la misma carpeta que la del modelo *.gltf* o *.glb* thumbnail.png.
{% endhint %}

{% hint style="warning" %}
**📔 Nota**: Recomendamos usar siempre nombres en minúsculas para todas las carpetas y nombres de archivos, para evitar posibles problemas.
{% endhint %}

Cuando importas cualquier asset mediante el Scene Editor, se añade automáticamente dentro de la `assets/scene` carpeta. Cuando usas cualquiera de los assets predeterminados en los Asset Packs del Scene Editor, sus archivos se añaden a la `assets/builder` carpeta.

## El archivo dclignore

Todas las escenas incluyen un *.dclignore* archivo; este archivo especifica qué archivos de la carpeta de la escena se deben ignorar al desplegar una escena en Decentraland.

Por ejemplo, podrías querer conservar los archivos de Blender para los modelos 3D de tu escena dentro de la carpeta de la escena, pero quieres evitar que esos archivos se desplieguen en Decentraland. En ese caso, podrías añadir `*.blend` en *.dclignore* para ignorar todos los archivos con esa extensión.

| Qué ignorar          | Ejemplo     | Descripción                                                                                                   |
| -------------------- | ----------- | ------------------------------------------------------------------------------------------------------------- |
| Archivos específicos | `BACKUP.ts` | Ignora un archivo específico                                                                                  |
| Carpetas             | `drafts/`   | Ignora todo el contenido de una carpeta y sus subcarpetas                                                     |
| Extensiones          | `*.blend`   | Ignora todos los archivos con una extensión determinada                                                       |
| Secciones de nombre  | `test*`     | Ignora todos los archivos cuyos nombres coinciden con la consulta. En este caso, los que comienzan con *test* |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-es/scenes-sdk7/tipos-de-proyectos/scene-files.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
