瀏覽代碼

:chore: finish get-started (last part of the draft)

Jaime A Torrealba C 2 年之前
父節點
當前提交
e49ccdd32c

+ 10 - 10
docs/es/guide/getting-started.md

@@ -1,6 +1,6 @@
-# Installation
+# Instalación
 
-Learn how to install TresJS
+Aprende como instalar TresJS
 
 ::: code-group
 
@@ -18,11 +18,11 @@ yarn add three @tresjs/core
 
 :::
 
-> Better use with Vue 3.x and composition API
+> Recomendado para usar con Vue 3.x y composition API
 
 ## Typescript
 
-TresJS is written in Typescript and it's fully typed. If you are using Typescript, you will get the full benefit of the typings. Just make sure you install the types for three.
+TresJs esta escrito en Typescript. Si estas usando Typescript, tendrás muchos beneficios para los tipados. Asegúrate de instalar los tipados para Threejs
 
 ::: code-group
 
@@ -40,9 +40,9 @@ pnpm add @types/three -D
 
 :::
 
-## Getting started
+## Empezando
 
-You can install TresJS as any other Vue plugin
+Puedes instalar TresJS como cualquier otro Vue plugin
 
 ```ts
 import { createApp } from 'vue'
@@ -56,7 +56,7 @@ app.use(Tres)
 app.mount('#app')
 ```
 
-Or you can use it directly in your component
+O puedes usarlo directamente en el componente
 
 ```vue
 <script setup lang="ts">
@@ -64,13 +64,13 @@ import { TresCanvas } from '@tresjs/core'
 </script>
 <template>
   <TresCanvas>
-    <!-- Your scene here -->
+    <!-- Aquí va tu escena -->
   </TresCanvas>
 </template>
 ```
 
 ::: tip
-This is recommended for performance and bundle size reasons, tree-shaking will work better and you will only import the components that you use.
+Esta es la forma recomendada para obtener mejor rendimiento, tree-shaking será mejor porque solo se importarán los componentes que se usaran
 :::
 
 ## Vite
@@ -89,4 +89,4 @@ export default defineConfig({
     },
   }),
 })
-```
+```

+ 17 - 14
docs/es/guide/index.md

@@ -4,7 +4,7 @@
     <FirstScene style="aspect-ratio: 16/9; height: auto; margin: 2rem 0; border-radius: 8px; overflow:hidden;"/>
 </ClientOnly>
 
-This is the documentation for the `v2.0.0` of TresJS. If you are looking for the documentation for the version 1, check [V1 TresJS](https://v1.tresjs.org/).
+Esta es la documentación para la `v2.0.0` en adelante de Tresjs. Si estas buscando la documentación para la version 1, revisa acá [V1 TresJS](https://v1.tresjs.org/).
 
 ::: code-group
 
@@ -24,7 +24,7 @@ pnpm add three @tresjs/core
 
 ## Typescript
 
-TresJS is written in Typescript and it's fully typed. If you are using Typescript, you will get the full benefit of the typings. Just make sure you install the types for three.
+TresJs esta escrito en Typescript. Si estas usando Typescript, tendrás muchos beneficios para los tipados. Asegúrate de instalar los tipados para Threejs
 
 ::: code-group
 
@@ -39,11 +39,12 @@ yarn add @types/three -D
 ```bash [pnpm]
 pnpm add @types/three -D
 ```
+
 :::
 
 ## Vite
 
-If you are using Vite, you have add the following to your `vite.config.ts`:
+Si estas usando Vite, tendrás que añadir la siguiente configuración en `vite.config.ts`:
 
 ```ts
 import { templateCompilerOptions } from '@tresjs/core'
@@ -58,11 +59,11 @@ export default defineConfig({
 }),
 ```
 
-This is required to make the template compiler work with the custom renderer and not throw warnings on the console. For more info check [here](/guide/troubleshooting.html).
+Esto es necesario para hacer que el compilador funcione con el custom renderer y no arroje advertencias en la consola. para mas información revisa [acá](/guide/troubleshooting.html).
 
-## Try it online
+## Prueba Tresjs online
 
-We have a brand new [StackBlitz](https://stackblitz.com/) starter to try TresJS online. Check it out:
+Contamos con un template oficial en [StackBlitz](https://stackblitz.com/):
 
 ![](/stackblitz-starter.png)
 
@@ -70,19 +71,19 @@ We have a brand new [StackBlitz](https://stackblitz.com/) starter to try TresJS
 
 ## Playground
 
-We also have a playground where you can try TresJS online. Check it out [here](https://playground.tresjs.org/).
+Ademas puedes revisar ejemplos de las utilidades, y "como hacer" en nuestro playground. mas info [aquí](https://playground.tresjs.org/).
 
 ![](/public/playground.png)
 
 ## Motivation
 
-[ThreeJS](https://threejs.org/) is a wonderful library to create awesome **WebGL** 3D websites. Is also a constantly updated library that makes hard for wrapper maintainers like [TroisJS](https://troisjs.github.io/) to keep up with all the enhancements.
+[ThreeJS](https://threejs.org/) es una maravillosa librería que potencia la creación de sitios web en 3D usando **WebGL**. Se actualiza constantemente, un desafío para los mantenedores de [TroisJS](https://troisjs.github.io/)
 
-React ecosystem has an impresive **custom render** solution called [React-three-fiber](https://docs.pmnd.rs/react-three-fiber) that allows you build your scenes declaratively with re-usable, self-contained components that react to state.
+EL ecosistema de React tiene una impresionante librería llamada [React-three-fiber](https://docs.pmnd.rs/react-three-fiber) que permite construir escenas declarativas, de manera reusable, que reaccionan a tu estado.
 
-In my search for something similar in the VueJS ecosystem, I found this amazing library called [Lunchbox](https://github.com/breakfast-studio/lunchboxjs) which works with the same concept that R3F, it provides a [custom Vue3 Renderer](https://vuejs.org/api/custom-renderer.html). I'm also contributing to improve this library so it gets as mature and feature-rich as R3F.
+En my búsqueda de algo similar en el ecosistema de VueJs, encontré una librería sorprendente llamada [Lunchbox](https://github.com/breakfast-studio/lunchboxjs) la cual funciona bajo el mismo concepto de R3F, posee un [custom Vue3 Renderer](https://vuejs.org/api/custom-renderer.html). También soy un contribuidor de esta librería.
 
-The only problem is, mixing compilers renderers in Vue 3 is something the Vue community is still working on - see [here](https://github.com/vuejs/vue-loader/pull/1645) for more information.
+El único problema es mezclar diferentes renderers en Vue 3 es algo que la comunidad de Vue aún esta trabajando. Puedes visitar [here](https://github.com/vuejs/vue-loader/pull/1645) para mas información.
 
 ```ts
 // Example Vite setup
@@ -101,8 +102,10 @@ const lunchboxApp = createLunchboxApp(LunchboxApp)
 lunchboxApp.mount('#lunchbox')
 ```
 
-So I was inspired by both libraries to create ~~something that wouldn't require creating a **custom renderer** but intelligent enough to generate Vue components based on the ThreeJS constructors with 0-to-none manteinance required `three:latest`. That's **TresjS v1**~~.
+Asi que inspirado por ambas librerías, empecé ~~algo que no necesite un **custom renderer** pero lo suficientemente inteligente como para generar componentes de Vue basados en los constructores de ThreeJs con 0 o nada necesidad de mantenimiento.~~
+
+Aunque la v1 fue una solución decente, tenia algunas limitaciones que solo pueden ser solventadas creando un **custom renderer** de manera apropiada. Después de muchas pruebas de concepto, decidimos crear una nueva versión de TresJs que esta basada en un custom renderer, sin afectar de manera significativa al usuario
 
-Although v1 was a decent solution 😄, it has some limitations that would only be solved by creating a proper **custom renderer**. After several POCs, I decided to create a new version of TresJS that would be based on a Vue custom renderer but saving the user to do any weird stuff. That's **TresJS v2**.
+Para aprender mas acerca de como migrar de la v1 revisa nuestra [guía](/guide/migration-guide.html).
 
-To learn more how to migrate from v1, check the [migration guide](/guide/migration-guide.html).
+Eso es **TresJs**.

+ 29 - 28
docs/es/guide/migration-guide.md

@@ -1,5 +1,6 @@
-# Migration Guide
+# Guía de migración
 
+Esta guía tiene como objetivo ayudarte con la migración de la v1 ha la mas reciente v2 de Tresjs
 This guide is intended to help you migrate from v1 to brand new shiny v2 🤩✨ of TresJS.
 
 ::: code-group
@@ -18,23 +19,23 @@ yarn upgrade @tresjs/core
 
 :::
 
-## What's new?
+## ¡Lo nuevo!
 
 ### Vue Custom Renderer
 
-**TresJS** is now a [Vue Custom Renderer](https://vuejs.org/api/custom-renderer.html#createrenderer) 🎉 that lives inside of a wrapper component `TresCanvas` that is responsible for creating the `WebGLRenderer` and the `Scene` for you and creating a **new Vue App instance** to render the scene.
+**TresJS** ahora utiliza [Vue Custom Renderer](https://vuejs.org/api/custom-renderer.html#createrenderer) 🎉, vive dentro del componente `TresCanvas` que es el responsable de la creación del `WebGLRenderer` y la `Scene`.
 
-### Typescript support and Intellisense 🦾
+### Soporte para Typescript y Intellisense 🦾
 
 ![TresJS v2 Intellisense](/v2-intellisense.gif)
 
-This was probably the most **requested feature for TresJS**. Now Tres components work with Volar and provide type intellisense.
+Esta es probablemente una de las **funcionalidades mas solicitadas en TresJs**. Ahora los componentes de TresJs trabajan en conjunto con Volar, para proveerte intellisense y tipado.
 
-**TresJS** now generates type declaration on build time for all the components based of the catalog from ThreeJS. This means that you can use all the components from ThreeJS and get type intellisense for them.
+**TresJS** ahora genera los tipos de todos tus componentes al momento de hacer la compilación, basado en el catalogo de Threejs. Esto significa que podrás usar todos los componentes de Threejs y obtener intellisense
 
-### Tres Plugin is optional 👍
+### TresJs Plugin es opcional 👍
 
-The `TresPlugin` is now optional. You can use TresJS without it by importing the components directly from `tresjs/core`:
+El `TresPlugin` ahora es opcional. Tu podrás usar Tresjs importando lo directamente desde `tresjs/core`:
 
 ```vue
 <script setup lang="ts">
@@ -55,17 +56,17 @@ import { TresCanvas } from '@tresjs/core'
 </template>
 ```
 
-::: info
-This is recommended for performance and bundle size reasons, tree-shaking will work better and you will only import the components that you use.
+::: tip
+Esta es la forma recomendada para obtener mejor rendimiento, tree-shaking será mejor porque solo se importarán los componentes que se usaran
 :::
 
-### TresScene no longer needed
+### TresScene no es necesario
 
-The `<TresScene />` component is now deprecated since the scene is now created by the `<TresCanvas />`.
+El componente `<TresScene />` queda deprecado, la escena ahora vive dentro de `<TresCanvas />`.
 
-In the beginning, I thought that it would be a good idea to have a separate component for the scene in terms of verbosity and keep it as similar to plain ThreeJS, but it turned out that it was not really useful.
+Al comienzo, pensamos que podría ser una buena idea trabajar estos componentes de forma separada, pero pronto nos dimos cuenta que realmente no es util.
 
-You can now create a scene like this:
+Las escenas se crean de esta manera:
 
 ```vue
 <template>
@@ -82,15 +83,15 @@ You can now create a scene like this:
 </template>
 ```
 
-To migrate your code, you can just remove the `<TresScene />` component and move the children to the `<TresCanvas />` component.
+Para migrar tu código, debes remover el componente `<TresScene />` y colocar todos tus componentes de Tresjs dentro del componente padre `<TresCanvas />`
 
-### `useCatalog` is now deprecated
+### `useCatalog` esta deprecado
 
-The `useCatalog` function is now deprecated. You can now import the catalog directly from `@tresjs/core`
+La función del `useCatalog` esta ahora deprecada para la v2. Ahora puedes importar todo el catalogo directamente desde `@tresjs/core`
 
-You can read more about it here: [Extending](/advanced/extending.md)
+Puedes leer mas información aquí: [Extending](/advanced/extending.md)
 
-Change this:
+Cambia de esto:
 
 ```ts {2,5,7}
 // Wrong ❌
@@ -102,7 +103,7 @@ const { extend } = useCatalog()
 extend({ TextGeometry })
 ```
 
-To this:
+A esto:
 
 ```ts {2,6}
 // Correct ✅
@@ -113,11 +114,11 @@ import { TextGeometry } from 'three/addons/geometries/TextGeometry'
 extend({ TextGeometry })
 ```
 
-### Model's ref value `getModel` is now deprecated
+### En los modelos el `getModel` fue deprecado
 
-The `getModel` function is now deprecated. You can now use the `model` property directly.
+La función `getModel` fue deprecada. Ahora puedes usar el model directamente
 
-Change this:
+Cambia de esto:
 
 ```vue {7,9-12}
 // Wrong ❌
@@ -138,7 +139,7 @@ watch(modelRef, ({ getModel }) => {
 </template>
 ```
 
-To this:
+A esto:
 
 ```vue {7,9-12}
 // Correct ✅
@@ -159,11 +160,11 @@ watch(modelRef, model => {
 </template>
 ```
 
-### Cameras need to be before any control 🎥
+### Las cámaras necesitan vivir antes de cualquier control🎥
 
-The `TresOrbitControls` component needs to be after the camera in the tree. This is because the controls need to know the camera to work.
+El componente `TresOrbitControls` necesita ser colocado después de la cámara. Esto es así debido a que los componentes `controls` necesitan la cámara para trabajar de manera correcta
 
-Change this:
+Cambia de esto:
 
 ```vue {3,5}
 // Wrong ❌
@@ -175,7 +176,7 @@ Change this:
 </template>
 ```
 
-To this:
+A esto:
 
 ```vue {3,5}
 // Correct ✅

+ 22 - 22
docs/es/guide/nuxt.md

@@ -1,58 +1,58 @@
-# Nuxt module `@tresjs/nuxt`
+# Modulo de Nuxt `@tresjs/nuxt`
 
 ![TresJS Nuxt Module](/nuxt-stones.png)
 
 <a href="https://www.npmjs.com/package/@tresjs/nuxt"><img src="https://img.shields.io/npm/v/@tresjs/nuxt/latest?color=%2382DBCA" alt="npm package"></a>
 
-A official Nuxt module for TresJS is here 🎉. 
+El modulo oficial de TresJs para Nuxt ¡ha llegado! 🎉.
 
-Repository is [here](https://github.com/Tresjs/nuxt)
+Visita el repositorio [aquí](https://github.com/Tresjs/nuxt)
 
-## Installation
+## Instalación
 
 ::: code-group
 
 ```bash [pnpm]
-pnpm add three @tresjs/nuxt 
+pnpm add three @tresjs/nuxt
 ```
 
 ```bash [npm]
-npm install three @tresjs/nuxt 
+npm install three @tresjs/nuxt
 ```
 
 ```bash [yarn]
-yarn add three @tresjs/nuxt 
+yarn add three @tresjs/nuxt
 ```
 
 :::
 
-## Features
+## Beneficios
 
-- 🤓 Auto-import components and composables from the [TresJS ecosystem](https://github.com/orgs/Tresjs/repositories)
-- `TresCanvas` client only, you don't need to add `.client` to the component name or `<ClientOnly />`
-- Automatically configures vue compiler to support TresJS components, see [why](/guide/troubleshooting.html#failed-resolve-component-trescomponent-%F0%9F%A4%94)?
-- All the DX Magic that comes with Nuxt ✨
+- 🤓 Los componentes y composables son auto-importados
+- `TresCanvas` trabaja solo del lado del cliente, no necesitas agregar manualmente `.client` al nombre del componente o `<ClientOnly />`
+- Configuración del compilador de vue Automática, para los componentes de Tresjs, puedes aprender mas sobre este tema [aquí](/guide/troubleshooting.html#failed-resolve-component-trescomponent-%F0%9F%A4%94)
+- Toda la experiencia para el desarrollador que viene con Nuxt ✨
 
-## Usage
+## Así se usa
 
- Add `@tresjs/nuxt` to the `modules` section of `nuxt.config.ts`
+Añade `@tresjs/nuxt` a la sección de módulos `modules` de `nuxt.config.ts`
 
 ```js
 export default defineNuxtConfig({
-  modules: ["@tresjs/nuxt"],
-});
+  modules: ['@tresjs/nuxt'],
+})
 ```
 
-That's it! You can now use `@tresjs/nuxt` in your Nuxt app ✨
+Y ¡eso es todo! ✨ ahora puedes disfrutar de los beneficios de `@tresjs/nuxt` en tu aplicación de nuxt
 
-If you want to use the any package from the TresJS ecosystem, you can install the packages you want to use and they will be auto-imported by the module 🧙🏼‍♂️.
+Si quieres usar cualquier paquete del ecosistema de Tresjs, y solo asi ya puedes disfrutar de la funcionalidad de auto-importación de los módulos 🧙🏼‍♂️.
 
-| Package                     | Version                                                                                            |
-| --------------------------- | :------------------------------------------------------------------------------------------------- |
-| [Cientos](https://github.com/Tresjs/cientos) | ![cientos version](https://img.shields.io/npm/v/@tresjs/cientos/latest.svg?label=%20&color=%23f19b00) |
+| Paquete                                                      | Version                                                                                                            |
+| ------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------- |
+| [Cientos](https://github.com/Tresjs/cientos)                 | ![cientos version](https://img.shields.io/npm/v/@tresjs/cientos/latest.svg?label=%20&color=%23f19b00)              |
 | [Post-processing](https://github.com/Tresjs/post-processing) | ![post-processing version](https://img.shields.io/npm/v/@tresjs/post-processing/latest.svg?label=%20&color=ff69b4) |
 
 ```bash
 # Using pnpm
 pnpm add @tresjs/cientos @tresjs/post-processing
-```
+```

+ 19 - 21
docs/es/guide/troubleshooting.md

@@ -1,4 +1,4 @@
-# The hilarious guide of common issues and how to solve them
+# Una divertida guía de problemas comunes y como resolverlos
 
 ![Troubleshooting](https://media.giphy.com/media/LHZyixOnHwDDy/giphy.gif)
 
@@ -6,23 +6,23 @@ Welcome to **TresJS v2 troubleshooting guide**. Where 3D stands for _"Dazzlingly
 
 This guide is intended to help you solve the most common issues that you might encounter when using TresJS v2.
 
-## I can't see my 3D scene 😭!
+## ¡No puedo ver mi escena 😭!
 
-You followed the [Getting started guide](/guide/getting-started.md) but you still can see your scene renderered.
+¿Has seguido los pasos de la sección [Getting started guide](/guide/getting-started.md) pero aun así no puedes ver tu escena en pantalla?
 
-These are the most common reasons why you might not be able to see your scene:
+Estas son algunas de las razones mas comunes:
 
-### Check the height of your canvas 📏
+### Revisa la altura de tu canvas 📏
 
-Another common issue is that the `TresCanvas` component is creating by default a `canvas` element takes the `width` and `height` of the parent element. If the parent element has no height, the canvas will have no height either.
+Un problema común es que el componente `TresCanvas` crea por defecto un elemento `canvas` que toma el ancho y el alto de su elemento padre. Si tu elemento padre no tiene altura, el canvas tampoco la tendrá
 
 ![No height found](/canvas-height.png)
 
-You will also see this error in the console:
+Ademas verás un error como este en la consola
 
 ![Canvas height warning](/canvas-height-warning.png)
 
-A easy way to fix this is to set the height of the parent element to `100%`:
+Una forma muy fácil de resolver esto es configurar la altura del elemento padre a `100%`:
 
 ```css
 html,
@@ -39,7 +39,7 @@ body {
 }
 ```
 
-Or you can set the `window-size` prop of the `TresCanvas` component:
+O también puedes agrega el prop `window-size` al componente `TresCanvas`:
 
 ```vue
 <TresCanvas window-size>
@@ -48,17 +48,17 @@ Or you can set the `window-size` prop of the `TresCanvas` component:
 </TresCanvas>
 ```
 
-## Failed resolve component: TresComponent... 🤔
+## Errores en consola componente: TresComponent... 🤔
 
 ![](/failed-to-resolve-component.png)
 
-Since **TresJS v2** is using a Vue Custom Renderer inside of the main Vue App instance, the core Vue renderer that acts as parent is not going to recognize the components inside of `TresCanvas` component. Even if it doesn't affect the rendering, it will show a warning in the console.
+Desde la **TresJS v2**, se esta usando una solución llamada Vue Custom renderer dentro de la instancia principal de la aplicación de vue, Vue no reconocerá por defecto los componentes dentro del componente `TresCanvas`. Incluso si estos no afectan al desarrollo de nuestra escena, mostrará warning en la consola
 
 ![](/failed-to-resolve-component.png)
 
-At this moment, there is no native Vue support to define the renderer used on the `<template />` but there is a quick workaround to remove the warnings
+En este momento, no existe una solución definitiva para el renderizado usando el `<template />` pero hemos desarrollado una solución provisoria para eliminar estos warnings
 
-Got to your `vite.config.ts` and add the following configuration to the `@vitejs/plugin-vue`:
+ve a tu `vite.config.ts` y añade la siguiente configuración:
 
 ```ts
 import { defineConfig } from 'vite'
@@ -75,17 +75,15 @@ export default defineConfig({
 })
 ```
 
-This will remove the warning from the console.
+Esto eliminara el mensaje en la consola.
 
-# Help Us Make TresJS Purr-fect! 😼
+# Ayúdanos a hacer TresJS Purr-fect! 😼
 
-We know that even the best cat nappers occasionally make mistakes, and we need you help to make TresJS even better! If you find a bug, please open a ticket at [the
-repo](https://github.com/Tresjs/playground) and **please provide a reproduction link**.
+Sabemos que incluso los mejores ocasionalmente cometemos errores, y ¡necesitamos tu ayuda para hacer TresJs aún mejor! Si encuentras algún bug por favor no dudes en abrir un ticket acá [the
+repo](https://github.com/Tresjs/playground) **Recuerda proporcionar un link a la reproducción del error**
 
 ::: warning
-Tickets without a reproduction link will be closed.
+Los tickets sin un link de reproducción serán cerrados
 :::
 
-Our team of coding cat lovers
-will jump into action to squash those pesky bugs and improve TresJS for everyone. Together, let's make TresJS the cat's
-meow of 3D rendering in Vue!
+Nuestro team, saltará a la acción para resolver estos bugs fastidiosos y mejorar Tresjs para todos. Juntos podemos hacer de esta una librería Increíble.

+ 31 - 31
docs/es/guide/your-first-scene.md

@@ -1,16 +1,16 @@
-# Your first scene
+# Tu primera scene
 
-This guide will help you to create your first Tres scene. 🍩
+Esta guía te va a ayudar a crear tu primera scene Tres. 🍩
 
 <ClientOnly>
     <DonutExample style="aspect-ratio: 16/9; height: auto; margin: 2rem 0; border-radius: 8px; overflow:hidden;"/>
 </ClientOnly>
 
-## Setting up the experience Canvas
+## Preparando el Canvas
 
-Before we can create a Scene, we need somewhere to display it. Using plain [ThreeJS](https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene) we would need to create a `canvas` HTML element to mount the `WebglRenderer` and initialize the `scene`
+Antes de poder crear una escena, necesitamos un lugar donde mostrarla. Usando [ThreeJS](https://threejs.org/docs/index.html#manual/en/introduction/Creating-a-scene) simple, necesitaríamos crear un `canvas` html element para montar el `WebglRenderer` y inicializar la `scene`
 
-With **TresJS** you only need to import the default component `<TresCanvas />` and add it to the template of your Vue component.
+Con **TresJS** solo necesitas añadir el componente default `<TresCanvas >` a la plantilla de tu componente de Vue.
 
 ```vue
 <script lang="ts" setup>
@@ -18,23 +18,23 @@ import { TresCanvas } from '@tresjs/core'
 </script>
 <template>
   <TresCanvas window-size>
-    <!-- Your scene goes here -->
+    <!-- Tu escena vivirá aquí -->
   </TresCanvas>
 </template>
 ```
 
 ::: warning
-It's important that all components related to the scene live between the `<TresCanvas />` component. Otherwise, they will be not rendered.
+Es importante que todos los componentes con relación a la escena vivan entre el `<TresCanvas />` componente. Si no, no se renderizará.
 :::
 
-The `TresCanvas` component is going to do some setup work behind the scene:
+El `TresCanvas` componente internamente va a:
 
-- It creates a [**WebGLRenderer**](https://threejs.org/docs/index.html?q=webglrend#api/en/renderers/WebGLRenderer) that automatically updates every frame.
-- It sets the render loop to be called on every frame based on the browser refresh rate.
+- Crea un [**WebGLRenderer**](https://threejs.org/docs/index.html?q=webglrend#api/en/renderers/WebGLRenderer) que automáticamente se actualiza cada frame.
+- Eso crea el render loop una función que se llamará usando el requestAnimationFrame API del navegador.
 
-## Canvas size
+## Tamaño del canvas
 
-By default, `TresCanvas` component will take the **parent's width and height**, if you are experiencing a blank page make sure the parent element has a proper size.
+Por defecto el componente `TresCanvas` tomará **La altura y el ancho del elemento padre**, si estas experimentando una pagina en blanco, asegúrate de que los tamaños están correctamente configurados
 
 ```vue
 <script lang="ts" setup>
@@ -42,7 +42,7 @@ import { TresCanvas } from '@tresjs/core'
 </script>
 <template>
   <TresCanvas>
-    <!-- Your scene goes here -->
+    <!-- Acá va tu escena -->
   </TresCanvas>
 </template>
 <style>
@@ -60,7 +60,7 @@ body {
 </style>
 ```
 
-If your scene is not gonna be part of a UI, you can also force the canvas to take the width and height of the full window by using the `window-size` prop like this:
+Si tu escena no va a ser parte de la UI, puedes forzar el canvas para que tome los tamaños del viewport usando el `window-size` prop, de esta manera:
 
 ```vue
 <script lang="ts" setup>
@@ -68,31 +68,31 @@ import { TresCanvas } from '@tresjs/core'
 </script>
 <template>
   <TresCanvas window-size>
-    <!-- Your scene goes here -->
+    <!-- Acá va tu escena -->
   </TresCanvas>
 </template>
 ```
 
-## Creating a scene
+## Creando una escena
 
-We need 4 core elements to create a 3D experience:
+Necesitamos 4 elementos core para crear una experiencia 3D :
 
-- A [**Scene**](https://threejs.org/docs/index.html?q=scene#api/en/scenes/Scene) to hold the camera and the object(s) together.
-- A [**Renderer**](https://threejs.org/docs/index.html?q=renderer#api/en/renderers/WebGLRenderer) to render the scene into the DOM.
-- A [**Camera**](https://threejs.org/docs/index.html?q=camera#api/en/cameras/Camera)
-- An [**Object**](https://threejs.org/docs/index.html?q=object#api/en/core/Object3D)
+- Una [**Escena**](https://threejs.org/docs/index.html?q=scene#api/en/scenes/Scene) para agregar la cámara y los objetos juntos.
+- Un [**Renderer**](https://threejs.org/docs/index.html?q=renderer#api/en/renderers/WebGLRenderer) para renderizar los objetos dentro de nuestro canvas.
+- Una [**Camera**](https://threejs.org/docs/index.html?q=camera#api/en/cameras/Camera)
+- Un [**Objeto**](https://threejs.org/docs/index.html?q=object#api/en/core/Object3D)
 
-With **TresJS** you only need to add the `<TresCanvas />` component to the template of your Vue component and it will automatically create a `Renderer` (`canvas` DOM Element) and `Scene` for you.
+Con **TresJS** solo necesitas agregar el componente `<TresCanvas />` al template en tu Vue SFC y automáticamente creara el `Renderer` (`canvas` DOM Element) y la `Scene` por ti.
 
 ```vue
 <template>
   <TresCanvas window-size>
-    <!-- Your scene goes here -->
+    <!-- Acá va tu escena -->
   </TresCanvas>
 </template>
 ```
 
-Then you can add a [**PerspectiveCamera**](https://threejs.org/docs/index.html?q=perspectivecamera#api/en/cameras/PerspectiveCamera) using the `<TresPerspectiveCamera />` component.
+Puedes añadir una [**PerspectiveCamera**](https://threejs.org/docs/index.html?q=perspectivecamera#api/en/cameras/PerspectiveCamera) usando el`<TresPerspectiveCamera />` componente.
 
 ```vue
 <template>
@@ -103,12 +103,12 @@ Then you can add a [**PerspectiveCamera**](https://threejs.org/docs/index.html?q
 ```
 
 ::: warning
-A common issue is that the camera default position is the origin of the scene (0,0,0), TresJS will automatically set the position of your camera to `[3,3,3]` if the prop `position`. If no camera is defined in you scene, a perspective camera is added automatically.`
+Un problema común es que la posición por defecto de la cámara es (0,0,0), TresJs automáticamente configurar la posición de tu camera a `[3,3,3]` si la propiedad `position` no es configurada manualmente. Si no hay una cámara declarada en tu escena, una PerspectiveCamera será añadida automáticamente
 :::
 
-## Adding a 🍩
+## Añadir una 🍩
 
-That scene looks a little empty, let's add a basic object. If we were using plain **ThreeJS** we would need to create a [**Mesh**](https://threejs.org/docs/index.html?q=mesh#api/en/objects/Mesh) object and attach to it a [**Material**](https://threejs.org/docs/index.html?q=material#api/en/materials/Material) and a [**Geometry**](https://threejs.org/docs/index.html?q=geometry#api/en/core/BufferGeometry) like this:
+Esta escena parece un poquito vacía, añadamos un objeto básico. Si estuviéramos usando **ThreeJS** puro, necesitaríamos crear un [**Mesh**](https://threejs.org/docs/index.html?q=mesh#api/en/objects/Mesh) objeto y adjuntarlo a una [**Material**](https://threejs.org/docs/index.html?q=material#api/en/materials/Material) y una [**Geometry**](https://threejs.org/docs/index.html?q=geometry#api/en/core/BufferGeometry) como eso:
 
 ```ts
 const geometry = new THREE.TorusGeometry(1, 0.5, 16, 32)
@@ -117,9 +117,9 @@ const donut = new THREE.Mesh(geometry, material)
 scene.add(donut)
 ```
 
-A **Mesh** is a basic scene object in three.js, and it's used to hold the geometry and the material needed to represent a shape in 3D space.
+Un Mesh es un objeto básico de la escena en three.js, y es usado para contener la geometría y el material necesario para representar una forma en el espacio 3D.
 
-Now let's see how we can easily achieve the same with **TresJS**. To do that we are going to use `<TresMesh />` component, and between the default slots, we are going to pass a `<TresTorusGeometry />` and a `<TresMeshBasicMaterial />`.
+Ahora, vemos como podemos lograr fácilmente el mismo con **TresJS**. Para hacerlo, vamos a usar `<TresMesh />` componente, y entre los puestos por defecto, vamos a pasar un `<TresTorusGeometry />` y un `<TresMeshBasicMaterial />`.
 
 ```vue
 <template>
@@ -134,7 +134,7 @@ Now let's see how we can easily achieve the same with **TresJS**. To do that we
 ```
 
 ::: info
-Notice that we don't need to import anything, that's because **TresJS** automatically generate a **Vue Component based on the Three Object you want to use in CamelCase with a Tres prefix**. For example, if you want to use an `AmbientLight` you would use `<TresAmbientLight />` component.
+Nota que no necesitamos importar nada, eso es porque **TresJS** generar automáticamente un **Componente de Vue con base del Three Objeto quieres usar en CamelCase con un prefijo Tres**. Por ejemplo, si quieres usar un `AmbientLight` usarías `<TresAmbientLight />` componente.
 :::
 
 <StackBlitzEmbed projectId="tresjs-first-scene" />
@@ -156,4 +156,4 @@ import { TresCanvas } from '@tresjs/core'
 </template>
 ```
 
-From here onwards you can start adding more objects to your scene and start playing with the properties of the components to see how they affect the scene.
+A partir de ahora, puedes empezar a añadir más objetos a tu escena y empezar a jugar con las propiedades de las componentes para ver como se cambian la escena.