From 223cdf9e922c454e27224aeaa00b66aa0d75a072 Mon Sep 17 00:00:00 2001 From: dev Date: Thu, 14 May 2026 02:11:25 +0200 Subject: [PATCH] Align sema docs with channel ownership --- src/uix/active_architecture.md | 3 ++- src/uix/sema/engine.ts | 2 +- src/uix/soma/runtime.svelte.ts | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/uix/active_architecture.md b/src/uix/active_architecture.md index 00ba2640c..d30b5e67b 100644 --- a/src/uix/active_architecture.md +++ b/src/uix/active_architecture.md @@ -71,7 +71,8 @@ Preguntas que quedan abiertas / cerradas tras la reauditoria: 8. `attachActiveUix`: P1 queda decidido: requiere `langs` y `dom` en la app. Si falta un servicio requerido, falla temprano y no crea sustitutos. 9. Docs site: resuelto. La ruta UIX ya sincroniza idioma, direccion, locale, - currency, unit system, theme, sound y motion via `uix.prefs`; no muta + currency, unit system, sound, motion y haptic via `uix.prefs`; el tema, + modo y densidad visuales pertenecen a `ActiveEidos`. La ruta no muta `document.documentElement.dir` ni `uix.langs` directamente. Hallazgos P1 resueltos en esta pasada: diff --git a/src/uix/sema/engine.ts b/src/uix/sema/engine.ts index 728ebc3e4..f41358a90 100644 --- a/src/uix/sema/engine.ts +++ b/src/uix/sema/engine.ts @@ -36,7 +36,7 @@ import type { SignalProjector } from './projection'; export interface EngineSemanticOverrides { /** * Path-based mutations of the SEMA_MAP applied at construction. The - * canonical map is not mutated; a deep clone is produced. + * canonical map is not mutated; only the overridden object path is cloned. */ runtime?: Record; diff --git a/src/uix/soma/runtime.svelte.ts b/src/uix/soma/runtime.svelte.ts index 664610009..544687814 100644 --- a/src/uix/soma/runtime.svelte.ts +++ b/src/uix/soma/runtime.svelte.ts @@ -207,15 +207,15 @@ export interface TriggerOptions { */ fallbackTarget?: HTMLElement; /** - * Per-call signal overrides. Each channel slice (`sound`, `motion`, - * `presence`, `haptic`, `color`, …) merges with whatever the morfo - * event declared in `semantic.overrides`; on key conflict, the per-call - * value wins (per-call > morfo-declared). + * Per-call signal overrides. Each runtime channel slice (`sound`, + * `haptic`, future channels, …) merges with whatever the morfo event + * declared in `semantic.overrides`; on key conflict, the per-call value + * wins (per-call > morfo-declared). * * Cascade rules (capa 6) STILL win on conflict — a cascade rule that * sets `sound.pitch` will override a per-call pitch. To make a per-emit * value the source of truth, the cascade rule should NOT set the same - * primitive (only set `channels` to activate the canal). + * primitive (only set `channels` to activate the channel). * * Used for dynamic per-emit signatures, e.g. drawer drag-progress * modulating sound by velocity / position / direction.