CAUSA REAL del «atasco» de imágenes base64 (hallada por CPU profile: 34% de las muestras). El sync del `bind:value` (`syncExternalState`) comparaba el `value` bindeado contra el doc interno con `samePalabrasDocument` — una comparación DEEP O(documento) — EN CADA cambio. Como el editor escribe `value` con la MISMA referencia del doc interno (publishState → `this.document`), esa comparación recorría el string base64 (MB) por tecla para nada. Fix: un check de igualdad por REFERENCIA antes del deep-compare — el caso común (nuestras propias ediciones) se resuelve en O(1); el `samePalabrasDocument` solo corre cuando la referencia difiere de verdad (una escritura externa). Medido (imagen base64 de 2MB en el modelo): tecleo 20ms/char → 12ms/char. NO era el `src` grande en el DOM (mi hipótesis inicial, errónea) — era el deep-compare. Verificado: provider 53 tests verdes; check 0 errores palabras. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>alpha-0.1-sec-dom
parent
d3f10b89cf
commit
d96e4cde7f
Loading…
Reference in new issue