Ir al contenido
dopejs
Todos los proyectos

dope-canvas

Fase de diseño

Un lienzo infinito para grandes colecciones de artefactos web generados por IA.

Cientos de iframes activos no escalan; aplanar cada página a una imagen pierde la selección y el enrutado de eventos. dope-canvas mantiene los artefactos retenidos —fuente, estado duradero, árbol de interacción, caché de pintado y un runtime activo opcional— de modo que la selección y la activación al estilo Figma sobreviven. El repositorio está en su línea base previa al desarrollo: arquitectura, plan de entrega y modelo de seguridad, todavía sin un lienzo funcional.

Resumen

Cada iframe retiene un contexto de navegación, estado DOM/CSS, un realm de scripts, recursos y estado de renderizado, así que mantener vivas cientos de páginas generadas escala mal. La respuesta de diseño es un modelo de artefacto retenido —`artefacto = fuente + estado duradero + árbol de interacción + caché de pintado + runtime activo opcional`— en el que una instantánea es solo una caché de pintado. El documento y el modelo de interacción siguen disponibles para la selección, el enrutado de eventos, la activación y la restauración segura entre revisiones.

El lienzo se encarga del movimiento de cámara, la virtualización espacial, el ciclo de vida activo/instantánea, los metadatos de interacción, los presupuestos de recursos y la composición del renderizado; los artefactos aportan HTML, CSS y JavaScript controlado. La división en paquetes sigue esas fronteras —protocol, spatial, core, artifact, security, runtime, renderer, editor— y todos son privados y con versión 0.0.0: ninguno se presenta como contrato público estable.

Se declaran dos límites por adelantado: no se han superado las puertas de evidencia de navegador de M0, así que el soporte de las APIs experimentales de HTML en Canvas sigue siendo una capacidad y no una promesa; y no se ha elegido licencia, por lo que hasta que los responsables añadan una, el contenido no se ofrece bajo una licencia de código abierto.

Qué hace

  • Modelo de artefacto retenido: una instantánea es solo una caché de pintado, así que la selección y el enrutado de eventos sobreviven.
  • El lienzo gestiona la cámara, la virtualización espacial, el ciclo de vida activo/instantánea, los presupuestos de recursos y la composición.
  • Las fronteras entre paquetes reflejan el diseño: protocol, spatial, core, artifact, security, runtime, renderer, editor.
  • La seguridad es un paquete de primera clase —sanitizador, política de URL, cuotas y capacidades—, no un endurecimiento posterior.
  • Documentado desde el inicio: diseño técnico, plan de entrega, modelo de seguridad, estrategia de compatibilidad, protocolo de benchmark y preguntas abiertas.

Primeros pasos

Requisitos: Node.js 22.12+ y pnpm 10.33.2.