Reveal · primer consumidor real
← Motion

Reveal primer consumidor real

A diferencia del demo presence-group —que construye Presence + PresenceGroup a mano— esto usa el componente real <Reveal>: su morfo declara panel.animation.children = { enter: 'before', exit: 'after' }, y el provider lee ese contrato compilado para construir el grupo (RFC §4). El panel entra, luego los ítems entran en cascada; al cerrar los ítems salen primero mientras el panel retiene su DOM (exit-heavy §8.1), y solo después se va el panel. El escalonado es CSS puro; soma solo decide el cuándo. El selector cambia el prop animation, que el componente enruta a las superficies declaradas (Panel + Items) como data-animation-style — se nombra una vez, el sistema sabe dónde (RFC §5).

Modo (c) — compone sema + motion (RFC Apéndice B): al abrir y al cerrar, los eventos declaran channels: ['sound'] y suena un tono emerge a la vez que corre la cascada. No pelean porque eidos neutraliza su propia firma visual sobre las superficies coordinadas (animation: none donde hay data-animation-style + data-event-phase); la cascada es transition y sobrevive. El opt-out vive en motion, sema intacto. (Sube el volumen; el audio arranca con el primer click.)

{#each STYLES as s (s.value)} {/each}
Para la animación fluida, abre esta página enfocada en el browser (en preview de fondo el rAF se throttlea).
{open ? '▾' : '▸'} Menú de cuenta {#each ITEMS as label (label)} {label} {/each}