feat(gioser): ciclo sol↔luna↔tierra, auras anchas, nuevo set Software/Quién Soy/Manifiesto/Mística
Shader (gioser-shaders):
- 3 cuerpos centrales renderizados realísticamente con interpolación
gradual entre ellos (cross-fade smoothstep):
- render_sun: núcleo gauss + corona pulsante + textura de plasma FBM
(boiling surface).
- render_moon: disco con limb darkening, cráteres + mares (2 octavas
de fbm), terminador móvil (fase lunar), halo azulado en el limb
iluminado.
- render_earth: disco con continentes fbm (rotación lenta), polos
blancos, nubes en otra capa, día/noche en hemisferio iluminado,
halo atmosférico azul (Rayleigh simplificado).
- Uniforms u_body_a, u_body_b (int 0/1/2), u_body_blend (float).
- Cuerpo central se calcula sólo si inside > 0.001 (perf — saltea pixels
fuera de la superficie de la chacana).
- radial_mult atenúa los rayos cuando luna/tierra están activos — el sol
es el único que irradia tan intensamente.
- element_cloud(): aura ancha por cardinal (sigma_along=0.42,
sigma_perp=0.34) con textura fbm animada y modulación por elemento.
- AIRE: corrientes suaves que ondulan horizontalmente.
- FUEGO: lengüetazos rápidos con flicker.
- TIERRA: densidad sólida con variación lenta.
- AGUA: ondulaciones grandes que viajan hacia afuera.
Las nubes cubren todo el cuadrante del cardinal, no solo la punta.
- Helper functions vnoise_c + fbm_c agregadas (necesarias para superficies
realistas de luna/tierra y para nubes elementales).
Renderer (gioser-canvas-web):
- body_state(t) -> (body_a, body_b, blend) state machine:
- BODY_PHASE_SECS = 45 (≈10 pulsos del sol antes de transicionar).
- BODY_TRANSITION_SECS = 4 (cross-fade gradual).
- Total cycle: 147s = sol 45s → trans 4s → luna 45s → trans 4s → tierra 45s → trans 4s.
- Smoothstep cubic en el blend para curva natural (no linear).
- Sube u_body_a/b como int (uniform1i) y u_body_blend como float.
App + contenido:
- index.html: nuevos labels en los 4 tips
- NORTE (aire): SOFTWARE / Tecnología
- ESTE (fuego): QUIÉN SOY / Bitácora
- SUR (tierra): MANIFIESTO / Invariantes
- OESTE (agua): MÍSTICA / Espiritualidad
- Íconos SVG nuevos relacionados al tema:
- aire: chip de circuito con nodos y conexiones
- fuego: libro abierto con líneas
- tierra: hexagrama dentro de círculo (sacred geometry / invariante)
- agua: ojo en triángulo (mística)
- gioser-web src/lib.rs: ensure_page_dom usa nuevos title+tag por elemento.
- 4 md/*.md reescritos con contenido seed para los nuevos temas, con
manifiesto explícito en tierra.md.
Workspace verde + 21 tests.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -12,45 +12,59 @@
|
||||
<body>
|
||||
<canvas id="gioser-canvas" aria-hidden="true"></canvas>
|
||||
|
||||
<main id="tips" aria-label="Cuatro elementos">
|
||||
<a id="tip-aire" class="tip tip-aire" href="#aire" data-md="./md/aire.md" aria-label="Aire — Software e IA">
|
||||
<main id="tips" aria-label="Cuatro cardinales">
|
||||
<!-- NORTE (aire): SOFTWARE · Tecnología — circuito + nodos -->
|
||||
<a id="tip-aire" class="tip tip-aire" href="#aire" data-md="./md/aire.md" aria-label="Software · Tecnología">
|
||||
<svg viewBox="0 0 48 48" class="tip-glyph" aria-hidden="true">
|
||||
<path d="M6 18 q 9 -12 18 0 t 18 0" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/>
|
||||
<path d="M6 28 q 9 -12 18 0 t 18 0" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" opacity="0.75"/>
|
||||
<path d="M6 38 q 9 -12 18 0 t 18 0" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" opacity="0.45"/>
|
||||
<rect x="18" y="18" width="12" height="12" fill="none" stroke="currentColor" stroke-width="1.7" rx="1"/>
|
||||
<circle cx="24" cy="24" r="2" fill="currentColor"/>
|
||||
<path d="M22 18 V14 M26 18 V14 M22 30 V34 M26 30 V34 M18 22 H14 M18 26 H14 M30 22 H34 M30 26 H34"
|
||||
stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/>
|
||||
<circle cx="10" cy="10" r="1.6" fill="currentColor" opacity="0.7"/>
|
||||
<circle cx="38" cy="10" r="1.6" fill="currentColor" opacity="0.7"/>
|
||||
<circle cx="10" cy="38" r="1.6" fill="currentColor" opacity="0.7"/>
|
||||
<circle cx="38" cy="38" r="1.6" fill="currentColor" opacity="0.7"/>
|
||||
<path d="M11 11 L17 17 M37 11 L31 17 M11 37 L17 31 M37 37 L31 31"
|
||||
stroke="currentColor" stroke-width="1.1" opacity="0.45"/>
|
||||
</svg>
|
||||
<span class="tip-label">AIRE</span>
|
||||
<span class="tip-sub">Software · IA</span>
|
||||
<span class="tip-label">SOFTWARE</span>
|
||||
<span class="tip-sub">Tecnología</span>
|
||||
</a>
|
||||
|
||||
<a id="tip-fuego" class="tip tip-fuego" href="#fuego" data-md="./md/fuego.md" aria-label="Fuego — Inspiración">
|
||||
<!-- ESTE (fuego): QUIÉN SOY · Bitácora — libro abierto -->
|
||||
<a id="tip-fuego" class="tip tip-fuego" href="#fuego" data-md="./md/fuego.md" aria-label="Quién Soy · Bitácora">
|
||||
<svg viewBox="0 0 48 48" class="tip-glyph" aria-hidden="true">
|
||||
<path d="M24 4 q -12 12 -6 24 q 3 -6 6 -6 q 1 10 6 12 q 10 -10 0 -22 q -4 6 -6 -8 z"
|
||||
fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/>
|
||||
<circle cx="24" cy="28" r="3" fill="currentColor" opacity="0.5"/>
|
||||
<path d="M8 14 L24 18 L40 14 V36 L24 32 L8 36 Z"
|
||||
fill="none" stroke="currentColor" stroke-width="1.7" stroke-linejoin="round"/>
|
||||
<path d="M24 18 V32" stroke="currentColor" stroke-width="1.5"/>
|
||||
<path d="M12 22 H21 M12 26 H21 M12 30 H19" stroke="currentColor" stroke-width="1.1" opacity="0.65" stroke-linecap="round"/>
|
||||
<path d="M27 22 H36 M27 26 H36 M29 30 H36" stroke="currentColor" stroke-width="1.1" opacity="0.65" stroke-linecap="round"/>
|
||||
</svg>
|
||||
<span class="tip-label">FUEGO</span>
|
||||
<span class="tip-sub">Inspiración</span>
|
||||
<span class="tip-label">QUIÉN SOY</span>
|
||||
<span class="tip-sub">Bitácora</span>
|
||||
</a>
|
||||
|
||||
<a id="tip-tierra" class="tip tip-tierra" href="#tierra" data-md="./md/tierra.md" aria-label="Tierra — Cuerpo">
|
||||
<!-- SUR (tierra): MANIFIESTO · Invariantes — hexagrama + círculo -->
|
||||
<a id="tip-tierra" class="tip tip-tierra" href="#tierra" data-md="./md/tierra.md" aria-label="Manifiesto · Invariantes">
|
||||
<svg viewBox="0 0 48 48" class="tip-glyph" aria-hidden="true">
|
||||
<path d="M4 36 l 12 -16 l 8 9 l 6 -12 l 14 19 z"
|
||||
fill="none" stroke="currentColor" stroke-width="1.8" stroke-linejoin="round"/>
|
||||
<path d="M24 36 v 8 M19 38 l -4 5 M29 38 l 4 5 M24 44 v 2"
|
||||
fill="none" stroke="currentColor" stroke-width="1.3" opacity="0.7"/>
|
||||
<circle cx="24" cy="24" r="18" fill="none" stroke="currentColor" stroke-width="1.4" opacity="0.55"/>
|
||||
<path d="M24 8 L39 32 L9 32 Z" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linejoin="round"/>
|
||||
<path d="M24 40 L9 16 L39 16 Z" fill="none" stroke="currentColor" stroke-width="1.5" opacity="0.85" stroke-linejoin="round"/>
|
||||
<circle cx="24" cy="24" r="1.8" fill="currentColor"/>
|
||||
</svg>
|
||||
<span class="tip-label">TIERRA</span>
|
||||
<span class="tip-sub">Cuerpo</span>
|
||||
<span class="tip-label">MANIFIESTO</span>
|
||||
<span class="tip-sub">Invariantes</span>
|
||||
</a>
|
||||
|
||||
<a id="tip-agua" class="tip tip-agua" href="#agua" data-md="./md/agua.md" aria-label="Agua — Espiritualidad aplicada">
|
||||
<!-- OESTE (agua): MÍSTICA · Espiritualidad — ojo en triángulo -->
|
||||
<a id="tip-agua" class="tip tip-agua" href="#agua" data-md="./md/agua.md" aria-label="Mística · Espiritualidad">
|
||||
<svg viewBox="0 0 48 48" class="tip-glyph" aria-hidden="true">
|
||||
<path d="M6 22 q 6 -10 12 0 t 12 0 t 12 0" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/>
|
||||
<path d="M6 30 q 6 -10 12 0 t 12 0 t 12 0" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" opacity="0.75"/>
|
||||
<path d="M6 38 q 6 -10 12 0 t 12 0 t 12 0" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" opacity="0.5"/>
|
||||
<path d="M24 6 L42 40 L6 40 Z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/>
|
||||
<path d="M13 26 Q24 16 35 26 Q24 34 13 26 Z" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linejoin="round"/>
|
||||
<circle cx="24" cy="26" r="3.2" fill="currentColor"/>
|
||||
<circle cx="22.5" cy="24.5" r="0.9" fill="rgba(255,255,255,0.55)"/>
|
||||
</svg>
|
||||
<span class="tip-label">AGUA</span>
|
||||
<span class="tip-label">MÍSTICA</span>
|
||||
<span class="tip-sub">Espiritualidad</span>
|
||||
</a>
|
||||
</main>
|
||||
|
||||
@@ -1,25 +1,38 @@
|
||||
# Agua
|
||||
# Mística · Espiritualidad
|
||||
|
||||
> *Lo que fluye. Lo que une dentro y afuera.*
|
||||
> *La práctica como puente. El misterio como interlocutor.*
|
||||
|
||||
El **Agua** es el dominio de la **espiritualidad aplicada**: las
|
||||
prácticas, lecturas y tradiciones que sostienen la atención y dan
|
||||
sentido al hacer. No es decoración mística: es la práctica concreta
|
||||
de mantenerse permeable, vivo, conectado.
|
||||
Acá vive lo místico, lo espiritual, las prácticas que sostienen la
|
||||
atención. No es decoración: es la otra mitad del trabajo. Sin esto,
|
||||
el resto se vuelve ruido.
|
||||
|
||||
## Espiritualidad aplicada
|
||||
## Prácticas
|
||||
|
||||
Aplicada significa que no se queda en libros: pasa por la práctica
|
||||
diaria — la lectura, la meditación, la ceremonia, la conversación
|
||||
honda. El agua moja todos los otros ejes.
|
||||
Lo que sostiene día a día:
|
||||
|
||||
## Lo que vive acá
|
||||
- **Meditación.** Sentarse a observar lo que sucede, sin agarrarlo.
|
||||
- **Lectura contemplativa.** Textos que se vuelven a leer hasta que
|
||||
cambian.
|
||||
- **Ceremonia.** Marcar inicios y cierres con gestos que pesan.
|
||||
- **Naturaleza.** Estar en lugares donde uno no es el centro.
|
||||
- **Silencio.** Día completo, una vez por mes mínimo.
|
||||
|
||||
- Notas de lectura sobre filosofía, mística, sabiduría andina.
|
||||
- Diario de prácticas (meditación, ceremonias, retiros).
|
||||
- Conversaciones con maestros y comunidades.
|
||||
## Por qué mística
|
||||
|
||||
Porque la racionalidad sola no alcanza para vivir. Y porque las
|
||||
tradiciones llevan miles de años elaborando vocabulario para lo que
|
||||
nos pasa cuando atendemos en serio: contemplación, ego, símbolo,
|
||||
muerte, asombro.
|
||||
|
||||
**Mística aplicada** = no quedarse en el libro. Pasar por el cuerpo,
|
||||
por la relación, por la vida cotidiana.
|
||||
|
||||
## Lo que leo
|
||||
|
||||
Andino, budista, cristiano-contemplativo, hindú, sufí. Sin
|
||||
exclusividad: cada tradición resuelve algunas cosas mejor que otras.
|
||||
|
||||
## Próximamente
|
||||
|
||||
*Acá se va a ir armando una bitácora de lecturas y prácticas. Por
|
||||
ahora el placeholder verifica el render bajo el tema **agua**.*
|
||||
*Acá se va a ir armando una bitácora de lecturas, prácticas y notas.
|
||||
Por ahora este placeholder verifica el tema **agua** (cyan).*
|
||||
|
||||
@@ -1,26 +1,34 @@
|
||||
# Aire
|
||||
# Software · Tecnología
|
||||
|
||||
> *Lo que respira el sistema. Lo que sube.*
|
||||
> *Lo público. Lo que se mantiene abierto.*
|
||||
|
||||
El **Aire** es el dominio del **software público y la IA**. Es la capa
|
||||
intangible que transporta pensamiento — los bits que vuelan entre
|
||||
máquinas, las inferencias que destilan sentido del ruido, las APIs
|
||||
que conversan sin verse.
|
||||
Acá viven los proyectos de **software libre**, herramientas, librerías
|
||||
y exploraciones técnicas que voy publicando. La premisa es mantener
|
||||
el código abierto, documentado y útil más allá del autor.
|
||||
|
||||
## Aspiración
|
||||
## Qué vas a encontrar acá
|
||||
|
||||
El Aire **aspira**: empuja hacia arriba. Es el movimiento de subir el
|
||||
nivel de abstracción, de hacer que una cosa difícil parezca obvia, de
|
||||
regalarle al usuario una herramienta que no le pesa.
|
||||
- Repos públicos de cosas que escribo (Rust, Python, embedded, web).
|
||||
- Notas técnicas sobre arquitectura, sistemas distribuidos, runtimes.
|
||||
- Ensayos sobre **IA aplicada** — sin hype, con ejemplos concretos.
|
||||
- Bitácoras de exploración: lo que probé, lo que descarté, lo que sigo
|
||||
usando.
|
||||
|
||||
## Lo que vive acá
|
||||
## Por qué open source
|
||||
|
||||
- Herramientas open source que **GioSer** publica y mantiene.
|
||||
- Modelos de IA que asisten al ciclo de creación.
|
||||
- Documentación, ensayos, manifiestos.
|
||||
Porque el conocimiento técnico se multiplica cuando circula. Y porque
|
||||
mucho de lo que uso a diario me lo regaló alguien que decidió compartir.
|
||||
La reciprocidad importa.
|
||||
|
||||
## Stack actual
|
||||
|
||||
- **Rust** para lo que necesita ser rápido, seguro y portable.
|
||||
- **Python** para análisis, ML y prototipos rápidos.
|
||||
- **Linux** (Artix/Arch) como sistema operativo de trabajo.
|
||||
- **gitea** + **nix** para infraestructura personal.
|
||||
|
||||
## Próximamente
|
||||
|
||||
*Esta sección se va a llenar con los proyectos concretos del eje aire.*
|
||||
Por ahora, este placeholder vive en `md/aire.md` y se renderiza vía
|
||||
`pluma-md` con tema *aire*.
|
||||
*Voy a ir enlazando proyectos específicos acá: tools, runtimes,
|
||||
experimentos. Por ahora, este placeholder vive en `md/aire.md` y se
|
||||
renderea con el tema **aire** (azul-blanco).*
|
||||
|
||||
@@ -1,25 +1,33 @@
|
||||
# Fuego
|
||||
# Quién Soy · Bitácora
|
||||
|
||||
> *Lo que enciende. Lo que transforma.*
|
||||
> *La identidad como verbo. La crónica como práctica.*
|
||||
|
||||
El **Fuego** es el dominio de la **inspiración**. Es la chispa que
|
||||
convierte una idea en gesto, una frase en ritual, un problema en
|
||||
prototipo. Sin fuego, los otros tres elementos se enfrían y se quedan
|
||||
contemplándose.
|
||||
Acá vive lo personal: quién soy, qué hago, qué leo, qué pienso. Una
|
||||
bitácora honesta, no curada para impresionar. Si vas a leer esto,
|
||||
asumí que es borrador.
|
||||
|
||||
## Inspiración
|
||||
## Quién soy
|
||||
|
||||
El fuego no se planea, se **atiende**. Llega — y la respuesta es no
|
||||
dejarlo pasar. Acá viven los ensayos, los videos, los manifiestos y
|
||||
los experimentos que nacieron porque algo prendió.
|
||||
**Sergio**. Programador, lector, padre, alguien que practica
|
||||
mantenerse despierto. Vivo entre código, café, montañas y libros.
|
||||
|
||||
## Lo que vive acá
|
||||
Las cosas que más me importan no son las que mejor cuento todavía.
|
||||
Por eso escribo: para precisar lo que sé y lo que no.
|
||||
|
||||
- Charlas, ensayos cortos, posts crudos.
|
||||
- Bocetos visuales, exploraciones tipográficas.
|
||||
- Documentos de manifiesto sobre cómo trabajar y para qué.
|
||||
## Bitácora
|
||||
|
||||
Notas más o menos diarias sobre lo que voy pensando, viviendo,
|
||||
fallando. Sin algoritmo de engagement, sin métricas. Sólo crónica.
|
||||
|
||||
Las entradas se ordenan por fecha. Las más viejas a veces dicen cosas
|
||||
que ya no pienso así — las dejo igual.
|
||||
|
||||
## Por qué publicarlo
|
||||
|
||||
Porque escribir en público obliga a precisar. Y porque a veces lo que
|
||||
uno escribe para sí mismo le sirve a otra persona que no conoce.
|
||||
|
||||
## Próximamente
|
||||
|
||||
*Voy a ir enlazando archivos `.md` específicos acá. Por ahora este
|
||||
texto sirve para verificar el render bajo el tema **fuego**.*
|
||||
*Acá se va a ir armando una bitácora con entradas fechadas. Por ahora
|
||||
este placeholder verifica el tema **fuego** (ámbar/escarlata).*
|
||||
|
||||
@@ -1,26 +1,39 @@
|
||||
# Tierra
|
||||
# Manifiesto · Invariantes
|
||||
|
||||
> *El cuerpo. La materia. Lo que sostiene.*
|
||||
> *Lo que no cambia. La piedra de toque.*
|
||||
|
||||
La **Tierra** es el dominio del **cuerpo**. Es lo que se toca, lo que
|
||||
huele, lo que se siembra. El eje terrestre de GioSer recuerda que
|
||||
todo proyecto —por muy abstracto que parezca— pasa por un cuerpo que
|
||||
respira, come, descansa y se conmueve.
|
||||
Acá vive el manifiesto de GioSer: las **invariantes** que sostienen
|
||||
todo lo demás. Lo que no negocio, lo que define la forma del trabajo
|
||||
antes que cualquier proyecto particular.
|
||||
|
||||
## Cuerpo
|
||||
## Invariantes
|
||||
|
||||
El cuerpo no es una metáfora: es donde aterriza el aire, donde el
|
||||
agua se vuelve vida, donde el fuego deja huella. Cuidarlo es parte
|
||||
del trabajo.
|
||||
Cosas que considero **no-negociables** en cómo hago el trabajo:
|
||||
|
||||
## Lo que vive acá
|
||||
- **Código abierto por defecto.** Si tiene sentido, se publica.
|
||||
- **Honestidad por encima de marketing.** No prometo lo que no puedo
|
||||
cumplir, ni vendo lo que no probé.
|
||||
- **El cuerpo es infraestructura.** Cuidarlo es parte del trabajo, no
|
||||
opuesto al trabajo. Sin cuerpo no hay nada.
|
||||
- **Las ideas se prueban escribiéndolas.** Si no hay documento, todavía
|
||||
no existe la idea.
|
||||
- **Compatibilidad hacia abajo > novedad arriba.** Las invariantes
|
||||
duran, las modas no.
|
||||
- **Una sola voz.** Lo que digo en privado coincide con lo que publico.
|
||||
|
||||
- Prácticas, rutinas, recetas.
|
||||
- Materialidad: objetos, lugares, oficios.
|
||||
- Salud y reposo como infraestructura.
|
||||
## Por qué un manifiesto
|
||||
|
||||
Porque sin invariantes, cada decisión es ad hoc. Tener un set chico de
|
||||
principios reduce la energía gastada en cada elección — y deja en
|
||||
claro cuándo estoy contradiciéndome.
|
||||
|
||||
## Revisión
|
||||
|
||||
Este manifiesto se revisa una vez al año, no antes. Si una invariante
|
||||
deja de aplicarse, se quita con una explicación pública.
|
||||
|
||||
## Próximamente
|
||||
|
||||
*Esta sección va a recibir notas, fotos y enlaces a oficios y
|
||||
prácticas concretas. Por ahora el placeholder verifica el tema
|
||||
**tierra**.*
|
||||
*Esta sección va a recibir el manifiesto completo + revisiones
|
||||
históricas. Por ahora este placeholder verifica el tema **tierra**
|
||||
(ocre cálido).*
|
||||
|
||||
@@ -226,10 +226,10 @@ impl AppState {
|
||||
return;
|
||||
};
|
||||
let (title, tag) = match element {
|
||||
"aire" => ("Aire", "Software · IA · Aspiración"),
|
||||
"fuego" => ("Fuego", "Inspiración"),
|
||||
"tierra" => ("Tierra", "Cuerpo"),
|
||||
"agua" => ("Agua", "Espiritualidad aplicada"),
|
||||
"aire" => ("Software", "Tecnología · Open Source · IA"),
|
||||
"fuego" => ("Quién Soy", "Bitácora · Crónica"),
|
||||
"tierra" => ("Manifiesto", "Invariantes · Piedra de toque"),
|
||||
"agua" => ("Mística", "Espiritualidad aplicada"),
|
||||
_ => return,
|
||||
};
|
||||
let html = format!(
|
||||
|
||||
Reference in New Issue
Block a user