Files
brahman/crates/apps/gioser-web/md/tierra.md
T
sergio d94dcfb5af 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>
2026-05-15 04:31:02 +00:00

40 lines
1.4 KiB
Markdown

# Manifiesto · Invariantes
> *Lo que no cambia. La piedra de toque.*
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.
## Invariantes
Cosas que considero **no-negociables** en cómo hago el trabajo:
- **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.
## 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 el manifiesto completo + revisiones
históricas. Por ahora este placeholder verifica el tema **tierra**
(ocre cálido).*