Veintiocho tableros. Cada uno toma una partecita del código y la muestra funcionando — como el laboratorio de aire muestra el sonido. Ninguno copia el snippet: importan la fuente viva. Si un tablero deja de correr, no es su bug — es la conciencia avisando que el código se movió.
La ley de este lugar — la fuente única también enseña: entender = ver el mismo código que se juega, sin copias.
Cada ontología viva con su regla mínima, su dueño y sus acoples — el anillo engorda con los contratos que la tocan: la acopladora se ve.
Enseña: cada ancla se coteja EN VIVO contra la fuente — si el código se movió, el nodo se pone rojo. El mapa jamás miente en silencio.
Suelta una imagen y los instrumentos miden en vivo: luz, paleta, tercios, bordes, frecuencias — overlays que se prenden sobre la imagen.
Enseña: el instrumento devuelve algo que mirar; el ojo lo pones tú. Nada se copia ni se hornea: cada número sale de los píxeles reales, ahora.
El campo horneado entero (1.121 municipios × 16 especies) con su distribución, la palabra del precio en un slider, el perfil del pueblo con lo que le sobra y lo que le falta, y la voz real de casuales.charla() pregonándolo. Las perillas de vida.js se afinan de verdad: mismo localStorage que lee el juego.
Enseña: los umbrales no están escritos, se descubren barriendo la función viva — y calzan clavados con los percentiles del país (p25=70 · p50=87 · p95=146). Y el dato confiesa solo que cacao y café están en par en el 100% del país: los exportables viajan planos.
🎚️ palancas vivascorotos.recetas()/verbos(): los bancos de trabajo con sus recetas (insumos → salida, tiempo, herramienta, ⚡enchufe), las CADENAS que emergen del dato (lo que un oficio le pasa a otro) y los verbos de la mano.
Nada se compra que no se pueda hacer: acá se ve el leño volverse banquito y la fibra volverse ruana — el árbol entero, leído de la fuente.
Los dos ejes que no son uno: el PESO del cuerpo (curva log de la dote × la edad, dibujadas del array vivo) y el CUPO del contenedor; más los kilos reales de las 132 especies.
Nadie comercia lo que no puede cargar. Y la unidad tiene cuerpo: 1 cosa = media libra, la medida con que se merca en Colombia.
vistas/letra.js: los 111 glifos en su rejilla (con ñ, tildes y los signos del juego), la prueba que la parió —vectorial vs dibujada, el mismo texto— y la ley de la voz.
Que «1.200» se lea 1.200: a los tamaños del juego la letra vectorial se emborrona con su propio antialiasing; la dibujada es nítida por construcción.
rf(i,j,semilla), el hash determinista del que cuelga TODO — un bosque brota donde el número supera el umbral.
Enseñó: misma semilla → mundo idéntico, cero bytes guardados. La biología epistemológica, hecha visible.
✎ editablenearest(x,y): cada celda pintada por su pueblo más cercano — arrastra un pueblo y su territorio respira.
Enseñó: la esquina da más tierra que el centro disputado (competencia de vecinos).
📖 solo lecturadisposicion(node) sobre un pueblo de juguete; un slider de población lo hace crecer de caserío a ciudad con torres.
Enseñó: la ciudad no crece en número de casas, crece en altura (torres densifican el centro).
📖 solo lectura8 regiones vía cultura(node) real; cada una cambia la forma del pueblo (la llanera se deshilacha, Bogotá se densifica).
Enseñó: la cultura SÍ mueve la forma — y chaninchay cazó un deseo: "la fila al río" afro no consta en la métrica.
📖 solo lecturacampos.valle() + hab() sobre un relieve de juguete (dos montañas, un valle, una meseta); tres modos + slider de techo.
Enseñó: la pendiente excluye más que la altura; el techo solo manda en la meseta plana alta.
✎ editableLa MISMA disposicion() del mundo, alimentada por crecimiento.js: mueve la aguja de t y mira las casas de Aracataca aparecer con la población de cada época — 322 en 2026, 39 en 1938, y en 1880 nada: el pueblo aún no nace (fundación 1885).
Enseña: antes de la fundación no hay ni colegio ni capilla — y cazó el hueco: el motor les daría cívicas a los extintos (Kciv nunca baja de 2).
⏳ el tiempopobCenso(id,t) con resolver(molde,anclas,t) corriendo en vivo: los puntos gordos son los ojos reales (censos DANE, cada uno con su vara confesada), la línea entre ellos la computa la fuente año a año. Serie censo y serie elecciones paralelas, jamás sumadas; el puente es razon(), una división confesa. La aguja de t = la puerta del tiempo (DAG fase 3).
Enseña: el dato manda donde hubo un ojo, y el molde se gana su voto — la línea es recta porque el exponencial perdió su primera falsación.
⏳ el tiempoMenú de historias — campos.js completo: pendiente (sondeos → flecha
cuesta-arriba → vía y agua), valle (la resta contra los vecinos → valle/cuchilla),
distRio (cubetas → anillos crecientes → el anillo de guarda). Cada momento resalta la
línea real que actúa; los números salen de la fuente corriendo. GIFs: _cine.mjs.
Enseña: el gesto que la línea hace — geometría viva, curada con amor, anclada por texto a la fuente.
🎬 cineLa biblioteca automática: cero curación — los separadores ── del archivo cortan los momentos, sus comentarios son la voz (código-bitácora narrándose), y su silueta es el mapa (tira + ventana en los grandes). 62 archivos de todo el tronco (motor·genoma·juego·vistas), carga perezosa, flechas ← → del teclado.
Enseña: el archivo entero, con su propia voz — hasta mundo.html se narra en 75 momentos. Si la fuente muta, el libro muta.
📖 autozonaVida(): 23 zonas ⊂ 9 padres (muñeca rusa), en un plano altitud × humedad. Arrastra la cruz y mira quién eres ahí.
Enseñó: el frío colapsa lo seco (el desierto se vuelve páramo arriba).
✎ editableDos caras (la fusión del viejo 'zoológico'): la vitrina — 16 especies caminando (pixelsAnimal, 4 dirs, up/down derivadas del perfil) — y el editor: moldeas la forma de un bicho pixel a pixel (una especie de base, o en blanco), como el clóset.
Enseñó: up/down se DERIVAN del perfil (_rasgosAnimal). El editor es el hermano del clóset y del diseñador de personajes — el trío de creación.
🐾 vitrina + editorEscribe una palabra → un tema, y una camada de 28 personajes CAMINA: cada uno nace de resolver(hash) + dibujar() reales. Clic para verlo de cerca (4 dirs + genoma), congela los que te gusten, bautiza tu elenco (contrato de NPCs para el motor).
Uno de los primeros tableros, recuperado del archivo y reapuntado al genoma vivo. El hermano del clóset: aquí nace la persona, allá se le viste.
✦ generaEl humanito tiene un cuerpo canónico único que se proyecta a las 4 vistas: down/right tal cual, left = espejo, up = espalda (mismo esqueleto). Por eso definir el movimiento en una cara lo define en todas. Trabajas sobre el desnudo, con el esqueleto jerárquico (cara→cabeza→cuerpo) y el selector de postura (el rango del hombro muestreado).
TUSUY Etapa 2: el banco de aprendizaje del movimiento. La doctrina de 2 siluetas de ed (04-jul) hecha rig canónico. Estudio hondo en bitacora/TUSUY-cuerpo-humano.md. Sigue: el rango.
🦴 laboratorioUna acción NO es una tira de frames: es una receta de canales por parte (plano · amplitud · fase · frecuencia). El motor la corre sobre el rig. reposo · caminar · correr (locomoción) se componen con saludar · celular (gesto): camina mientras saluda. Cada esqueleto lo anima el motor real, con su receta al lado.
TUSUY: la capa CORPORAL de las ontologías del juego (oficio→labor, emoción→postura, objeto→interacción). Fuente única _acciones.js (la comparte el laboratorio). Doc: bitacora/TUSUY-acciones.md.
🕺 concienciacapaSprite('maleta') viva sobre un maniquí en las 4 direcciones; el editor de correas que confiesa su delta como código (receta, no bitmap); y la ley de §CARGA: el PESO es del cuerpo (curva de la dote × edad) y el CUPO del contenedor.
Donde ed dictó las correas al pixel — y la curva FUERZA_EDAD se dibuja del array vivo de personaje.js, jamás de una copia.
guardarropa.capaSprite(): las 15 prendas del guardarropa vivas en una vitrina; escoge una y la ves grande sobre un maniquí, en las 4 direcciones, sola o puesta — la misma forma que compone enchufe.js sobre cada persona del mundo.
El instrumento para conmutar juntas: aquí ed diseña la ropa y la mejora; la ñawita sostiene el instrumento. Pronto: editar la forma (delta por coordenada) y parir prendas nuevas.
🧥 vitrina vivaLas 105 especies en un solo estante: corotos (con su camada por semilla) y los de lonchera, por familia y por curva de vida, cada una con los canales donde puede vivir (🥬 lonchera · 🔥 estufa · 🍲 cocidos · 👕 puesta) y lo tuyo AHORA en vivo.
Enseña: los canales del inventario — corre juego/corotos.js +
juego/recolecta.js + los dibujantes reales, y confiesa las discrepancias
(prendas sin especie, items sin pixel propio).
Los 5 medios (recua · lancha · vapor · camión · tren) con su arte real, y la
máquina del tiempo: modo = f(terreno, distancia, época) — el río pasa de vapor a
lancha en 1940, la troncal de tren a camión en 1955. Bootea mundo.html y lee sus sprites+regla.
Enseña: el comercio respira con el siglo — la misma _modoVia que corre
el mundo decide qué vehículo ves en cada año. Sin copia: si el arte o la regla cambian, el tablero cambia.
bando(i,j,u,pr,vb): el color de cada celda sale del agregado municipal + hash.
Enseñó: el color JAMÁS sale del voto individual (privacidad real). Trae su gate _verif_bando.mjs.
✎ editablewindow.MACONDO.aire: 6 biomas, dial de hora, aguacero — Web Audio en vivo. Botón "arrancar" por el autoplay.
Enseñó: cero audio pregrabado — todo se sintetiza al vuelo desde la fuente.
📖 solo lecturadistRio + aguaCerca: heatmap + flechas al punto de agua más cercano, con ríos arrastrables.
Enseñó: cuencas tipo Voronoi contra segmentos; el índice espacial no barre las polilíneas.
📖 solo lecturaLa lámina de agua que sube y baja: la llanura inundable que el hito enciende a su época — el Casanare/la Orinoquía que se desborda y se seca con el año del mundo.
Enseña: la tierra que a veces es agua — corre datos/llanura_inundable.json
+ la semilla reales.
catRender(e, img) preguntada al mundo en vivo (iframe efímero con ?censo=1):
las siete familias, cada especie con su dibujo real copiado del motor, y qué sombra recibe cada familia.
Siete sondas — cultura, hora, época y terreno — porque cada una destapa familias distintas.
Tiene una sala de espera para lo que llegó sin bautizar: ninguna regla puede distinguirlo, así que se muestra el dibujo, que es lo único que dice qué es. En su primera corrida delató tres kioskos, dos toldos y un asta de bandera.
📖 solo lecturaposicion() y sombra() de genoma/sol.js: la bóveda, el suelo del
juego con su compresión 2.5D real, y la sombra de mediodía a lo largo del año. Mueve hora, fecha y
latitud — las tres vistas cuelgan de una sola función, para que no puedan discrepar.
Enseña lo que casi ningún juego tiene: Colombia está entre los trópicos — la sombra de mediodía cambia de lado dos veces al año y dos días casi desaparece (el paso cenital, que el tablero encuentra en la curva en vez de citarlo de memoria).
✎ editableCada tablero corre la fuente real del juego (importa el módulo vivo, no un snippet
pegado). Los marcados ✎ editable te dejan tocar la función en un mini-editor y
verla correr con tu fórmula — recompilan en memoria, es efímero: recargas y vuelve al original.
Ábrelos servidos por http (el server del juego, 8471) — los import de módulo
ES no viven en file://.