Superprompt · Maniquí de construcción 3D y hoja de modelo (IDC)
# Superprompt · Maniquí de construcción 3D y hoja de modelo (IDC)
Especificación ejecutable de la aplicación. Entréguela completa a un modelo capaz de escribir código para reconstruirla, o úsela por partes para extenderla. Está escrita como instrucción directa: cada sección es un requisito, no una sugerencia.
---
## 1 · Encargo
Construye **una sola página HTML autocontenida**, en español, para el curso **Proyecto Ilustración** (docente: Mg. Mario Quiroz Martínez, 2026) del Instituto de Educación Superior Público «Diseño & Comunicación» (IDC), Lima, Perú, unidad didáctica **Dirección de arte publicitario**.
La página es un **maniquí de construcción en volumen** según los reguladores de Preston Blair: convierte un núcleo de parámetros —esquema, proporción, forma base, línea de acción, squash & stretch, rasgos y atributos— en una figura 3D editable en el navegador, y exporta de ella una **hoja de modelo con ocho posiciones**, a color, con líneas de proporción y el logo IDC, descargable en PDF.
Sirve a docentes y estudiantes de las cuatro carreras (Diseño de Interiores, Diseño Publicitario, Diseño de Modas y Comunicación Audiovisual) para construir personajes, mascotas y avatares de sus proyectos.
El problema real que resuelve: los principios de Blair se enseñan en imágenes estáticas y el estudiante no puede ver qué cambia al mover un regulador; y la hoja de modelo con varias posiciones y líneas de proporción se dibujaba a mano al final del proceso. Aquí cada principio es un deslizador vivo con su explicación, y la hoja de modelo se genera y exporta con un clic.
## 2 · Restricciones duras
1. **Un solo archivo `.html`.** Sin build, sin framework, sin empaquetado. Un `importmap`, un script de módulo y un script clásico. Los logos van como archivos hermanos (`Logo_IDCblanco.png` y `Logo_IDCsinfondo.png`); si faltan, la página lo resuelve sin romper nada (ver §8).
2. **Red mínima y declarada.** Solo estos recursos remotos, con versión fijada: `three@0.170.0` y `animejs@4.5.0` (más su adaptador de three) por importmap desde jsdelivr; `jspdf@2.5.2` UMD como script clásico; las familias Syne, DM Sans y DM Mono de Google Fonts. Nada más. Si la red falla: aviso visible a los 4 segundos si no hay canvas 3D; descarga PNG en lugar de PDF con un aviso; tipografías del sistema como respaldo. La única variante permitida si el despliegue exige cero red es incrustar esas bibliotecas en base64, manteniendo todo lo demás.
3. **Cero almacenamiento del navegador.** Sin `localStorage`, `sessionStorage` ni cookies. La persistencia es el PDF o el PNG exportado. Al recargar, la sesión vuelve al estado inicial.
4. **Sin valores ocultos ni aleatoriedad.** Cada cambio visible proviene de un regulador declarado con su rango. La página no inventa medidas, especies ni poses: declara que enseña construcción de Blair, no anatomía académica.
5. **Accesible**: los iconos de guía son `role="button"` con `tabindex`, `Enter` y `Espacio`; los diálogos llevan `role="dialog"` y `aria-modal`; `Esc` cierra; los conmutadores usan `aria-pressed`; el foco es visible; el lienzo cambia el cursor al arrastrar.
6. **Verificable**: el script de módulo, extraído como `.mjs`, y los scripts clásicos pasan `node --check`.
## 3 · Estado
Todo vive en un objeto `estado`:
```js
const estado = {
tipo: 'bipedo', preset: 'recto', formaBase: 'esfera',
cabezas: 5, opacidad: 0.32, exageracion: 0,
accionModo: 'C', accionInt: 0.4, squash: 0, peso: 0.5,
cabTilt: 0, cabGiro: 0,
tamCabeza: 1, sepOjos: 1, tamOjos: 1, hocico: 0, grosor: 1, tamManos: 1, torso: 1,
malla: true, reticula: true, accion: true, guias: true, giro: true, sombra: true, silueta: false,
animGesto: false, atributos: [],
_pose: { spread: 1, raise: 0, fwd: 0 }, // solo la lee la hoja de modelo
_bounce: 0, _squashA: 0 // internos de la animación de gesto
};
```
Altura constante de la figura: `ALTO = 3`; de ella derivan `H = ALTO / cabezas` (la unidad de cabeza) y `Hunit`. Cualquier cambio de regulador llama a `construir()`, que rehace la figura completa: nada se parchea a medias. Las anclas para los atributos (centro de cabeza, torso y cadera) se recalculan en cada construcción. No hay serialización de sesión: el único estado persistente es el documento exportado.
## 4 · Los cinco esquemas, las formas y los presets
| `tipo` | Construcción | Rostro |
|---|---|---|
| `bipedo` | cabeza esférica pivotada, cono torácico, esfera pélvica, dos piernas, dos brazos con manos | humano |
| `cuadrupedo` | dos masas (pecho y grupa) unidas por un cono horizontal, cuello, cuatro patas, cola | animal |
| `ave` | óvalo corporal, cuello, cabeza esférica, dos alas aplanadas, dos patas | pico cónico |
| `objeto` | prisma escalado, rostro frontal, brazos y piernas cortos | objeto |
| `criatura` | cabeza enorme, torso cónico, dos piernas, cuatro brazos | criatura |
| `formaBase` | Geometría · multiplicador |
|---|---|
| `esfera` | esfera × [1, 1, 1] |
| `huevo` | esfera × [0,85, 1,25, 0,85] |
| `pera` | perfil torneado de 8 puntos, base ancha × [1, 1, 1] |
| `caja` | cubo de 1,7 × 0,9 |
| `cilindro` | cilindro r1 h2 × [0,9, 1, 0,9] |
| `capsula` | cápsula 0,8/0,6 × [1, 0,9, 1] |
| `frijol` | esfera × [1,2, 0,8, 0,9] |
| `preset` | cabezas | tamCabeza | grosor | exag. | torso | peso |
|---|---|---|---|---|---|---|
| `recto` | 6 | 1,00 | 1,00 | 0,0 | 1,00 | 0,50 |
| `cute` | 2,5 | 1,50 | 1,15 | 0,7 | 1,15 | 0,60 |
| `comico` | 4,5 | 1,25 | 0,90 | 0,5 | 1,05 | 0,50 |
| `rudo` | 5 | 0,90 | 1,40 | 0,4 | 1,30 | 0,35 |
| `heroico` | 8 | 0,85 | 0,85 | 0,2 | 0,95 | 0,45 |
Reglas que deben cumplirse:
- **Pivote de cabeza**: la cabeza entera (masa, guías y rostro) se agrupa y se reubica con origen en el centro del cráneo; tilt (eje Z) y giro (eje Y) rotan el conjunto rígidamente. Nunca se mueven solo los ojos.
- **Gemelos wireframe**: cada sólido lleva un `LineSegments` con la misma posición, escala y rotación; la malla es una capa conmutable, no decoración fija.
- **Miembros**: conos entre dos puntos, orientados por cuaternión entre +Y y la dirección del segmento.
- **Retícula**: un anillo de radio 0,95 a cada unidad de cabeza (`i·H`), 64 segmentos. Es la regla de proporción en el espacio.
- **Guías de cabeza**: meridiano vertical y línea de ojos (curva a 0,96·r, bajada 0,12·r). Son las guías de perspectiva del rostro.
- **Rostro**: radio de ojo = `r·(0,30 criatura · 0,22 objeto · 0,26 resto)·tamOjos`; separación `r·0,40·sepOjos`; pupilas al 48 % del ojo, adelantadas 55 %. El hocico es un cono de radio `r·0,34` y largo `r·(0,5 + hocico)`, salvo en ave.
- **Factores derivados**: `headMul = tamCabeza·(1+0,6·exag)`, `limbMul = grosor·(1−0,35·exag)`, `handMul = tamManos·(1+0,5·exag)`, `chestMul = torso·(1+(0,5−peso))`, `bellyMul = torso·(1+(peso−0,5))`.
- **Etiqueta de proporción** en la lectura viva: ≤3 «bebé/cute»; ≤5 «cómico»; <6,5 «estándar»; ≥6,5 «heroico».
- **12 atributos insertables** anclados a cabeza (orejas, cuernos, cresta, pico, trompa, melena, cejas, colmillos), espalda (alas, joroba) y cadera (panza, cola). Material naranja #E86A3A translúcido. Se acumulan y se quitan sin recargar; se curvan con la línea de acción como el resto del cuerpo.
- El preset solo fija puntos de partida: aplica valores, sincroniza los deslizadores y el usuario sigue ajustando.
## 5 · Línea de acción · curvado real del modelo
Esta es la mejora central y no es negociable: **el cuerpo se deforma siguiendo la línea**, no basta con dibujar un tubo ni con rotar la figura entera. La solución antigua de inclinar `figura.rotation.z` queda descartada como regresión.
Una única función de curvado gobierna las dos cosas: el tubo visible y la geometría del cuerpo. Si se calculan por separado, el tubo atraviesa un cuerpo que no lo sigue: eso es un defecto, no un estilo.
```js
const A = 0.85 * estado.accionInt; // amplitud
function accionDX(y){ // desplazamiento x a la altura y
const ph = clamp(y / ALTO, 0, 1);
if (modo === 'C') return -A * (0.30*ph + 0.70*ph*ph); // arco: pies neutros, cabeza desplazada
if (modo === 'S') return -A * 0.50 * Math.sin(2π * ph); // seno completo: cadera y pecho contrapesados
return 0; // recta: sin curvado
}
function accionAng(y){ // rotación local para seguir la tangente
const ph = clamp(y / ALTO, 0, 1), pend = /* dx/dy según el modo */;
const w = smoothstep(ph, 0.05, 0.30); // amortiguación: los pies quedan plantados
return clamp(Math.atan(-pend), -0.65, 0.65) * w;
}
function curvarFigura(){
if (modo === 'recta' || int < 0.01) return;
figura.children.forEach(o => {
o.position.x += accionDX(o.position.y);
o.rotation.z += accionAng(o.position.y);
});
}
```
- Solo se doblan los **hijos directos** de la figura: el subgrupo de cabeza se curva como unidad rígida; cada atributo se curva según la altura de su centro.
- **El tubo**: curva Catmull-Rom sobre el eje del esquema más `accionDX`, `TubeGeometry` de 64×8 y radio `H·0,04`; esfera inicial de `H·0,08`; **flecha** —cono de `H·0,10` base y `H·0,30` de alto— colocada a `H·0,17` según la tangente final, orientada por cuaternión. Indica el sentido del gesto.
- **El eje se ordena de pies a cabeza** en los cinco esquemas, para que la flecha apunte siempre al extremo de la cabeza.
- Material de la línea: ámbar #f3a100, `MeshBasic`, `depthTest: false`: siempre visible sobre la figura.
| Modo | Lectura | Geometría |
|---|---|---|
| `C` | energía, un solo sentido | desplazamiento monótono; a intensidad 1 la cabeza se corre ~0,85 unidades y se inclina ~26° |
| `S` | sinuosidad, contrapeso | seno completo; cadera a un lado, pecho al otro, cabeza contrainclinada |
| `recta` | tensión, pose neutra | sin curvado; columna vertical |
Intensidad 0 % deja la figura vertical; 40–70 % es el rango útil; más allá la pose se vuelve acrobática. El panel lo dice.
## 6 · Guías emergentes por modificador
Cada modificador lleva un icono **«?»** que abre un cuadro de diálogo emergente, para que el usuario interprete **qué alteración física producirá en el diseño visual del personaje**. Es requisito central, no un extra.
- **Cobertura total: 39 entradas** — 18 reguladores (esquema, preset, forma, cabezas, exageración, línea, intensidad, squash, peso, tilt, giro y los 7 rasgos), 12 atributos, 8 capas y el botón de la hoja.
- **Anatomía de la tarjeta**: ceja «Guía del modificador», título, bloque azul **«Qué controla»**, bloque ámbar **«Alteración física en el diseño visual»** —obligatorio y no vacío en las 39 entradas— y una guía en cursiva estilo Blair, opcional.
- **Cableado**: el icono se coloca junto al valor de cada etiqueta y dentro de las píldoras; su clic hace `stopPropagation` y `preventDefault` para **no activar el control que lo contiene**; responde a `Enter` y `Espacio`; se cierra con el aspa, clic en el fondo y `Esc`.
- **Registro del contenido**: español peruano académico, referido a los principios de Blair (contraste de tamaños, forma pera «cute», test de silueta, «dibuja primero la línea»). Cada atributo declara su anclaje y su lectura de carácter (cuernos = agresión; panza = pereza; cola = línea de acción secundaria).
## 7 · La hoja de modelo · ocho posiciones
Los nombres salen de la hoja muestra docente del curso (personaje «Julia»); se eligen ocho de la lista. Cada posición es un conjunto de parámetros aplicado sobre el núcleo vigente:
| Posición | Línea | Squash | Tilt / giro | Brazos (spread · raise · fwd) | Escena |
|---|---|---|---|---|---|
| Bienvenida | C · 85 % | +0,05 | 12° / −12° | 1,50 · 1,50 · 0,05 | 0,10 rad |
| Sí se puede | recta | +0,18 | −10° / 8° | 0,55 · 1,70 · 0,15 | −0,18 rad |
| Expresión de duda | S · 60 % | −0,08 | 22° / 26° | 0,70 · 0,05 · 0,30 | 0,22 rad |
| Se interroga | S · 75 % | 0 | −16° / −28° | 0,85 · 0,60 · 0,55 | −0,10 rad |
| Busca otros caminos | C · 50 % | 0 | 14° / 38° | 1,30 · 0,35 · 0,20 | 0,30 rad |
| Encuentra soluciones | C · 30 % | +0,10 | −6° / −10° | 1,15 · 0,15 · 0,85 | −0,28 rad |
| Lee libros | S · 40 % | −0,20 | 18° / −22° | 0,45 · 0,45 · 1,05 | 0,12 rad |
| Despedida | C · 70 % | +0,06 | 8° / 14° | 1,85 · 1,60 · 0,30 | −0,14 rad |
- Los parámetros de brazos solo actúan en el bípedo: `bx = ±H·0,92·spread`, `by = mín(cadera + H·(0,10 + 1,35·raise), ALTO·0,99)`, `bz = H·0,16 + H·0,62·fwd`. Los demás esquemas varían por curva, squash, cabeza y giro de escena.
- **Protocolo de captura** por pose: respaldar y restaurar exactamente estas 13 claves —`accionModo, accionInt, squash, cabTilt, cabGiro, opacidad, reticula, accion, sombra, silueta, malla, guias, _pose`—; opacidad de masa 0,96; ocultar suelo, grid, retícula, línea 3D y sombras; `renderer.setSize(720, 900, false)` (búfer al pixelRatio ≤ 2); cámara en (0, 1,55, 5,4) mirando a (0, 1,5, 0); girar el contenedor según la pose; renderizar y copiar el canvas.
- **Toda la generación es síncrona dentro de un mismo clic**: ningún fotograma de las animaciones puede interponerse. Al terminar se restauran tamaño, aspecto, posición y orientación de cámara, rotación del contenedor, `_bounce`, `_squashA`, y se llama a `construir()` para devolver la vista del usuario intacta.
- **Proyecciones**: niveles de cabeza `i·H` (con tope en `ALTO`) y la curva de acción en 28 muestras, transformados por la matriz mundial de la figura (incluye el squash) y proyectados por la cámara. De ahí salen las líneas 2D de cada celda.
## 8 · Composición y exportación
**Lienzo de 2480 × 1754 px** (A4 horizontal, ~212 ppp), **estructura a color, no en blanco y negro**: papel crema, figura azul, líneas y curva ámbar, rótulos azul.
- **Paleta**: papel `#F7F2E7`, celda `#FDFAF2`, borde `#D9CFB6`, tinta `#2b2620`, gris `#79736a`, azul `#0a6fb0`, ámbar `#c97800`.
- **Cabecera**: logo IDC a 250 px de ancho; campos «Nombre del personaje» (por defecto «Julia»), «Equipo de trabajo», «Proyecto» («Proyecto Ilustración»), «Unidad didáctica» (fija: «Dirección de arte publicitario»), «Fecha» (hoy, dd/mm/aaaa) y «Hoja Nº»; regla ámbar; título «HOJA DE MODELO · 8 POSICIONES»; línea de proporción viva (p. ej. «PROP. 5,0 CABEZAS · CÓMICO · FORMA ESFERA») y leyenda de las líneas.
- **Rejilla 4 × 2**, celdas de aspecto 0,8, separación 24, redondeo 10, zona de pie de 46 px. Cada celda: imagen encajada por aspecto, **líneas de proporción discontinuas** (patrón 10-7, ámbar) con tantas etiquetas numeradas como `ceil(cabezas)`, **curva de acción ámbar** de 4 px, chip azul «CURVA C / CURVA S / LÍNEA RECTA» y el nombre de la pose centrado.
- **Logo**: se intenta `Logo_IDCsinfondo.png`; tras cargarlo se dibuja en un canvas de prueba y se llama a `toDataURL` —si contamina el lienzo, se descarta—. Respaldo vectorial: «idc» itálica azul #0072b9 con punto #f3a100 sobre la i, «diseño & comunicación» gris y «Instituto de Educación Superior Público» gris claro. El pie de la página usa `Logo_IDCblanco.png` a 150 px.
- **Exportación**: PDF con jsPDF (`orientation:'landscape', unit:'mm', format:'a4'`), imagen JPEG al 92 % a página completa, nombre `IDC_hoja_modelo_<personaje>.pdf`. PNG con `toBlob`. Si jsPDF no está, se descarga el PNG y un aviso explica la sustitución.
- **Interacción**: el modal abre primero con un indicador de trabajo; la generación espera un fotograma más 60 ms para que el indicador pinte; las capturas se guardan en caché, de modo que editar los campos de cabecera **redibuja sin volver a renderizar el 3D**.
- **Jerarquía**: los modales van por encima del logo del pie (z-index ≥ 200 frente a 100). Los avisos flotantes duran 3,6 s.
## 9 · Paneles, capas y lectura en vivo
- **Panel derecho fijo** de 320 px con seis grupos: 1 · Construcción Blair; 2 · Gesto y volumen Blair (con la nota que explica el curvado); 3 · Rasgos físicos (7 deslizadores); 4 · Atributos insertables (12 píldoras); 5 · Capas (8 conmutadores); 6 · Hoja de modelo IDC (botón primario ámbar).
- **Lectura viva** en el encabezado: esquema, cabezas con coma decimal, etiqueta de proporción, forma, exageración y atributos activos. Se actualiza en cada `construir()`.
- **Capas**: malla, retícula, línea, guías y sombra solo reaplican materiales; silueta reconstruye (un solo valor plano, oculta malla, guías y línea); giro alterna la rotación continua (40 s por vuelta); gesto animado alterna el rebote (1,4 s, `_bounce` 0,16 y `_squashA` −0,12) y al pausar devuelve la figura a reposo.
- **Navegación 3D**: arrastre horizontal rota el conjunto a 0,006 rad/px con captura de puntero; la rueda escala la posición de cámara un 6 % por paso, acotada entre 3,2 y 12, mirando siempre a (0, 1,4, 0).
- **Luces**: foco blanco de intensidad 90 desde (0, 3,4, 1,5), ángulo π/5, penumbra 0,45, sombras suaves; ambiental 0,42; relleno direccional #9FD4F5 desde (−4, 3, 4).
- Si no hay canvas a los 4 s, aviso central que explica la dependencia de CDN. Gancho de depuración: `window.__maniqui` con `estado`, `construir`, `abrirHoja` y `descargarHoja`.
## 10 · Ejemplos
Uno por esquema, cada uno en una carrera distinta cuando sea posible. Nada de anatomía académica: personajes de las carreras.
| Esquema | Carrera | Personaje |
|---|---|---|
| `bipedo` + `cute` + `pera` + orejas, panza, cola | Diseño Publicitario | mascota guía de documentos (caso «Julia») |
| `cuadrupedo` + `comico` + hocico 80 % + cola | Comunicación Audiovisual | mascota de serie infantil |
| `ave` + `heroico` + `huevo` | Diseño de Modas | símbolo animado de colección |
| `objeto` + `cute` + `caja` | Diseño de Interiores | objeto habitable con vida |
| `criatura` + `heroico` + cuernos + cola | libre | antagonista de corto animado |
Cada ejemplo debe mostrar el curvado en C y en S, y producir una hoja de ocho posiciones con líneas de proporción numeradas y **cero errores de consola**. La herramienta no aporta el acabado artístico, la vestimenta ni la expresión fina del rostro: eso lo pone el ilustrador. Decirlo.
## 11 · Entrada y salida
- **Descargar PDF** — A4 horizontal, con las ocho posiciones, líneas de proporción y logo IDC.
- **Descargar PNG** — la misma hoja como imagen.
- **Campos de cabecera** — editables; el redibujado es inmediato desde la caché de capturas.
- **Sin sesión guardada**: no hay botón de guardar y al recargar se pierde el estado. Lo exportado es lo persistente. La interfaz no promete otra cosa.
- **Gancho de depuración** para el aula y las pruebas automatizadas.
## 12 · Diseño
Estudio oscuro: fondo radial de `#2A2823` a `#161513`; variables CSS en `:root` —papel `#EFEAE1`, azul `#0072b9`, ámbar `#f3a100`, grafito `#8A8985`, masa `#4AA3DC`, línea `#BFE4FF`, guía `#7CC3F0`, atributo `#E86A3A`—; ningún color suelto en el marcado. Tres familias: Syne para titulares, DM Sans para texto, DM Mono para cifras y rótulos. Radios de 3, 4 y 16 px en píldoras. Transiciones de 0,15 a 0,18 s. Sombras bajas y difusas. Panel derecho fijo; una sola columna por debajo de 820 px, con encabezado de lectura y pie ocultos. Diálogos con fondo difuminado y tarjeta oscura; la hoja de modelo es la única superficie clara del aplicativo, porque es un documento.
## 13 · Criterios de aceptación
Verifica en un navegador real, no por inspección del código:
1. `node --check` pasa sobre el módulo extraído como `.mjs` y sobre los scripts clásicos.
2. **Cero errores de consola** al cargar y al recorrer: los cinco esquemas, los cinco presets, los 12 atributos, las 8 capas, el arrastre, la rueda, la generación de la hoja y las dos descargas.
3. Con curva C al 100 %, la cabeza se desplaza al menos 0,5 unidades del eje y el cuerpo se arquea; con «recta» la figura vuelve a la vertical; los pies permanecen junto a `x ≈ 0` en todos los casos.
4. La flecha de la línea apunta siempre al extremo de la cabeza, en los cinco esquemas.
5. La intensidad a 0 % deja la figura vertical y el desplazamiento crece de forma monótona con el deslizador.
6. Los 39 iconos «?» abren su diálogo con la sección «Alteración física en el diseño visual» no vacía; `Esc`, el aspa y el clic fuera cierran; pulsar «?» **nunca** activa el control que lo contiene.
7. La hoja genera exactamente 8 celdas con los 8 nombres de pose; cada celda muestra tantas líneas numeradas como `ceil(cabezas)` (5 cabezas → líneas 1 a 5).
8. El PDF se descarga en A4 horizontal con el logo en la cabecera; si jsPDF no carga, se descarga el PNG y el aviso explica la sustitución.
9. Sin los dos PNG de logo, la hoja se exporta igual con el logo vectorial y sin errores.
10. Editar «Personaje» en la barra redibuja al instante, sin reintentos 3D ni indicador de trabajo.
11. Tras recargar, el estado vuelve al inicial: cero almacenamiento.
12. Los diálogos y la hoja quedan por encima del logo del pie de página.
13. El número de anillos de la retícula sigue al deslizador de cabezas (5 → 8).
14. A 1440 px no hay desplazamiento horizontal; por debajo de 820 px el panel ocupa todo el ancho.
15. Los únicos recursos remotos son los cuatro declarados, con las versiones exactas de §2.
16. El conmutador de giro detiene la plataforma y el de gesto animado devuelve la figura a reposo al apagarse.
## 14 · Tono
Español peruano neutro, de registro académico, sin marketing. Frases cortas. Nada de «potente», «revolucionario» ni «fácil». Cuando una pose es una deformación paramétrica y no coreografía, se dice; cuando el logo es un dibujo de respaldo y no el archivo oficial, se declara; cuando el PDF cede el paso al PNG, se avisa. La herramienta enseña construcción de Blair, no anatomía académica, y lo dice. La honestidad sobre los límites es parte del producto, no una nota al pie.
---
**Notas sobre esta actualización:** (1) las cuatro mejoras de la sesión quedaron como requisitos verificables —el curvado compartido de §5 con la regresión explícitamente descartada, la cobertura de 39 diálogos de §6, las 8 poses de §7 y la exportación de §8—; (2) incorporé las constantes exactas (amplitudes, fórmulas, métricas del lienzo, presets) para que un modelo pueda reconstruir la aplicación sin adivinar; (3) a diferencia del Sincronizador, este aplicativo declara red mínima fijada en lugar de cero red, porque el 3D lo exige —si tu despliegue en GitHub Pages exige pleno offline, dime y convierto la restricción a base64 total.
Comentarios
Publicar un comentario