Bugs críticos:
- stores/catalog-editor.svelte.ts: añadidos activeOptId, activeOpt y
setActiveOpt que OptsPanel.svelte y OptDetail.svelte requerían pero
no existían en el store — el panel de opciones estaba completamente roto.
- session.svelte.ts: createSession recibía engine donde espera glob,
causando crash en getPrice()/resolveView(). Corregido a createSession(cat, null, engine).
- vcen/session.ts: glob ahora es optional (GlobInstance|null = null) para
permitir sesiones de solo-evaluación sin glob; añadidos null-guards en
getPrice, getAllPrices, resolveView, resolveVisual, resolveDefaultView.
Otras correcciones:
- comps/catalog-editor.svelte.ts + stores/catalog-editor.svelte.ts:
updateAttDefaultValue usaba (att.value as any).value = value (mutación
directa con cast); corregido a att.value = { ...att.value, value }.
- OptDetail.svelte: eliminado `</>` suelto dentro de la cadena de clase CSS.
- demo.store.svelte.ts: dominios option usaban estructura obsoleta
{kind:'option', options:[]} incompatible con vcen. Refactorizado para
usar la estructura correcta {kind:'option', mode:'list', list:[{optId}]}
con Opt entries en cat.opts. Actualizado addAtt, updateAttDomain y
updateAttOptions.
- demos/RuntimePanel.svelte: iteraba (domain as any).options para opciones;
ahora itera domain.list y resuelve el valor desde cat.opts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>