d94dcfb5af
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>
1.4 KiB
1.4 KiB
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).