> For the complete documentation index, see [llms.txt](https://documentation.soulver.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.soulver.app/es/experimental/x.md).

# Soulver X Series

## ¿Qué es la Serie Soulver X?

En 2024, nos embarcamos en un proyecto de I+D de varios años cuya misión es:

* Explorar ideas nuevas e interesantes para Soulver
* Buscar nuevas formas y nuevos flujos de trabajo
* Ir audazmente donde ningún calculadora de notas ha ido antes 🖖

Tenemos la intención de lanzar una nueva versión importante de la serie X cada año.

### Patrocinio de la Serie Soulver X

Si eres un usuario de mucho tiempo (o megafan de Soulver) y te entusiasma este trabajo, podrías considerar [patrocinar nuestra misión en GitHub](https://soulver.app/sponsor).

Además, como patrocinador, obtendrás acceso al prototipo más reciente de la serie X (X3, X4, etc.) con más funciones nunca antes vistas en el dominio de las calculadoras de notas.

Nuestro equipo (muy) pequeño agradecería el apoyo, y podremos dedicar más recursos a este tipo de I+D avanzado de calculadoras de notas.

## Soulver X2 (2025)

### Subhojas

* Una subhoja es una hoja separada que vive dentro de un único token.
  * Crea una subhoja desde el botón + en la barra de pestañas.
  * Haz doble clic en el token morado para abrir el editor de subhojas.
* Las subhojas pueden hacer referencia a variables de la hoja principal (siempre que las variables estén declaradas por encima de la línea de la subhoja).

### Tokens Deslizadores con Rangos

* Un token deslizador te permite especificar el rango para un deslizador desplazable
  * Crea un deslizador desde el botón + en la barra de pestañas.
  * Haz doble clic en el token verde para abrir la ventana emergente del deslizador.

### Líneas Divisorias

* Escribe guion (-) tres veces para insertar una línea divisoria.
* Usa líneas divisorias para crear una separación visual más grande entre diferentes partes de tu hoja.

## Soulver X1 (2024)

X1 incluye implementaciones de las principales solicitudes de características de Soulver, incluyendo:

* [Soporte para funciones personalizadas](https://soulver.app/feedback) (*incluyendo* *funciones de lenguaje natural*)
* [Compartir variables entre hojas](https://soulver.app/feedback) (*a través de la nueva hoja "encabezado"*)
* [Conexión a APIs Web](https://soulver.app/feedback) (*solo con pegar y un par de clics*)

### Pestañas

<figure><img src="/files/4aQ26qtgqsOvY3yTHRcS" alt=""><figcaption><p>Múltiples pestañas en Soulver X1</p></figcaption></figure>

Los documentos en Soulver X1 comienzan con una única pestaña, y puedes añadir más haciendo clic en el botón + a la derecha de la barra de pestañas.

**Cambiar el nombre de las pestañas**

Haz doble clic en el título de una pestaña para darle un nombre alternativo. Alternativamente, haz clic con el botón derecho del ratón en la pestaña y elige "Cambiar nombre".

**Eliminar pestañas**

Cuando pasas el ratón sobre una pestaña, haz clic en el botón x para eliminar. Alternativamente, haz clic con el botón derecho del ratón en la pestaña y elige "Eliminar"

{% hint style="warning" %}
Las pestañas son una característica en desarrollo.

No puedes reorganizar las pestañas (todavía), y añadir demasiadas pestañas en un solo documento no funciona correctamente.
{% endhint %}

### La hoja de encabezado

El encabezado es una hoja dedicada a definir variables, unidades, funciones y valores web que se pueden usar en todas las pestañas de tu documento.

<figure><img src="/files/16w86AdNvz98cLF6XTth" alt="" width="375"><figcaption></figcaption></figure>

### **Variables entre pestañas**

Declara variables para tu documento en el encabezado de la misma manera que declararías variables locales.

Por ejemplo:

```
mi variable = 123
```

`mi variable` estará disponible en todas tus hojas

{% hint style="info" %}
Tus pestañas solo pueden hacer referencia a variables, pero no pueden modificar su definición de tal manera que se aplique a otras hojas del documento.
{% endhint %}

### **Unidades de equivalencia**

Una unidad de equivalencia se define en términos de una unidad existente.

Define una nueva unidad de equivalencia en el encabezado usando (por ejemplo):

```
1 sandía = 10 lb
```

<figure><img src="/files/L3WBzDdSnWqpTRh5QvhJ" alt=""><figcaption><p>Declarar una nueva unidad de masa en Soulver X1</p></figcaption></figure>

Ahora se puede usar `sandía` como unidad de masa en todas tus pestañas.

<figure><img src="/files/bf7EwBFrgGxVbmF9CVjA" alt=""><figcaption><p>Usar una unidad de equivalencia personalizada en Soulver X1</p></figcaption></figure>

{% hint style="info" %}
Soulver X1 pluraliza automáticamente tu nueva unidad (en inglés).

Así que en este ejemplo, tanto "watermelons" serán reconocidos como un nombre de unidad válido, aunque la definición fuera "watermelon".
{% endhint %}

### **Unidades genéricas**

Una unidad de equivalencia es un tipo de unidad completamente nuevo, no definido en términos de una unidad existente.

Define una nueva unidad genérica en el encabezado usando (por ejemplo):

```
operación = nueva unidad
```

<figure><img src="/files/6P6YuTJ42pn0SAl0xlbO" alt=""><figcaption><p>Declarar un tipo de unidad genérica en Soulver X1</p></figcaption></figure>

La unidad `operación` ahora se puede usar en todas tus pestañas (incluyendo en tasas):

<figure><img src="/files/2d1AC1zWbz0qiDQeGVdk" alt=""><figcaption><p>Usar una unidad genérica en Soulver X1</p></figcaption></figure>

### **Funciones personalizadas**

**Introducción**

Una función es una frase útil que toma una entrada y devuelve una salida. En Soulver X1, puedes usar (casi) cualquier sintaxis para una función, incluyendo:

C-style: `doSomething(123)`

Swift-style: `doSomething(with: 123)`

Lenguaje natural: `hacer algo con 123`

**Para crear una nueva función personalizada (en el encabezado)**

* Haz clic en `Define New` > `Function`

**Elegir un nombre de función:**

<figure><img src="/files/sowjw2e2W7B8VIosNn2r" alt=""><figcaption><p>Declarar una nueva función en Soulver X1</p></figcaption></figure>

* Define tu función usando un ejemplo de cómo podrías usar la función en la práctica.
* Elige cualquier parámetro (siempre que coincida con el "tipo" de parámetro que esperas para tu implementación, como dinero, tiempo, números decimales simples, etc).

**Implementar su función:**

<figure><img src="/files/WzZmZE9DpDLybHNMzTyT" alt=""><figcaption><p>Escribir una función para calcular cuánto impuesto sobre las ventas hay en una cantidad determinada</p></figcaption></figure>

* Implementa la función en una hoja dedicada de Soulver. Cualquier parámetro se inyectará como tokens amarillos.
* Pasa el ratón sobre un token de parámetro para ver a qué parámetro se refiere en la declaración.
* La última línea de la hoja de implementación se devolverá como el valor final de la función.

**Usar su función**

<figure><img src="/files/QG1qmfETiRtupUKvYA2L" alt=""><figcaption></figcaption></figure>

Usa tu función con otros valores de entrada en todas tus hojas

### **Valores web (conexión a APIs JSON)**

#### **Para crear un nuevo valor web (en el encabezado)**

* Haz clic en `Define New` > `Web Value`

#### **Para conectarse a un punto de datos específico en un feed de datos JSON**

<figure><img src="/files/3gUnsn9TBWNC0zc5Rjhy" alt=""><figcaption><p>Conectarse a un feed de datos remoto en Soulver X1</p></figcaption></figure>

* Pega una URL a un feed de datos JSON, y luego simplemente haz clic en el punto de datos al que deseas conectarte

#### **Usar un valor web**

* A tu valor web se le asignará un nombre de variable (por defecto, coincidiendo con su descripción en el feed JSON)
* Estás libre de cambiar el nombre de la variable por otro.

#### **Actualizar un valor web**

* Tu valor web se actualizará automáticamente en segundo plano con la frecuencia que especificaste durante la configuración.

#### **Editar un valor web**

* Haz doble clic en el token de valor web amarillo en el encabezado para especificar un punto de datos diferente, o cambiar la frecuencia de actualización.

## Tipo de archivo de la Serie Soulver X

{% hint style="warning" %}
Las aplicaciones de la serie Soulver X utilizan un tipo de documento diferente (.slvrx) al de Soulver.

Esto es para soportar las nuevas características que estamos construyendo y experimentando.

Los archivos Soulver X (.slvrx) no pueden ser editados por Soulver 3 para Mac, iOS & iPad.
{% endhint %}
