# Continue Fecha de corte: 2026-05-17. Rama: `active-uix`. Actualizacion Eidos component migration 2026-05-17: - Inicio de la migracion Soma -> Eidos siguiendo `soma/COMPONENT_GUIDE.md` y `eidos/components/README.md`. - Componentes migrados: - `Progress`: root visual `progress.svelte`, `Progress.Indicator`, `progress.css`, `types.ts` e `index.ts` con disciplined option C. - `Meter`: root visual `meter.svelte`, `Meter.Indicator`, `meter.css`, `types.ts` e `index.ts` con disciplined option C. - Decisiones aplicadas: - Eidos no crea comportamiento: ambos wrappers envuelven `Provider` e `Indicator` publicos de Soma. - La unica prop visual anadida es `size?: ResponsiveProp<'sm' | 'md' | 'lg'>`, resuelta con `ActiveEidos.resolve(...)` y proyectada como `data-size`. - `Progress` usa el `data-state` de Soma (`indeterminate`, `loading`, `loaded`) para cargar/terminar/indeterminado. - `Meter` usa el `data-state` de Soma (`below`, `optimum`, `above`) para zonas visuales; no se anade intent ni color en Eidos. - Los tokens base viven en `THEME_BASE_RECIPE_TOKENS` y se regenero `src/uix/eidos/generated/base.css`. - Guardias actualizadas: - `component-visual-attrs.test.ts` protege `data-size` en `Progress` y `Meter`. - `scripts/eidos-lint-all.ts` reconoce `data-floating-wrapper` como marcador publico actual y retira el sufijo legacy `flat`. - `components/README.md` refleja `meter` y `progress` como migrados. - Validado: - `npx vitest run src/uix/eidos` -> 7 archivos, 84 tests OK. - `npm run check` -> 0 errores, 0 warnings. - `node --import tsx/esm scripts/eidos-lint-all.ts` -> 0 invalid, sin drift hotspots. - Siguiente bloque sugerido: - Migrar otro grupo de bajo riesgo desde Soma a Eidos: `separator` no existe en Soma; candidatos reales por morfo/soma existentes son `slider`, `number-field`, `pagination` o `rating-group`. - Antes de tocar componentes grandes (`select`, `combobox`, `calendar`, `date-field`) conviene fijar una tabla por componente: partes Soma, props visuales Eidos, recipe tokens y attrs esperados. Actualizacion Eidos components audit 2026-05-17: - Se acometieron los hallazgos autorizados sobre `src/uix/eidos/components` sin tocar demos ni rutas `web/routes/uix`: - `Tabs` instala su contexto visual de forma sincronica durante init, no en `$effect`; los hijos `Tabs.Content` ya no pueden inicializar sin contexto. - `Tabs.Indicator` deja de observarse a si mismo con `ResizeObserver`, para evitar loops de medida provocados por sus propias escrituras inline. - `Avatar.Image` ya no arranca oculto cuando hay `src`; la visibilidad queda derivada de `src` y de la ultima URL fallida. - `Accordion.Trigger` ya no contiene `