From 19ce90b04061000067efe5d337b96b93b02541b6 Mon Sep 17 00:00:00 2001 From: dev Date: Sat, 13 Jun 2026 11:20:51 +0200 Subject: [PATCH] refactor(sema,eidos): drop 2 orphan @deprecated aliases + translate Spanish comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed orphan deprecated type aliases with no real consumers: sema `IntentPolicy` (legacy single-axis policy, superseded by intentRequirement + intentGuidance) and its re-export; eidos `RecipeTokenObject` (→ RecipeTokenDeclaration) and the comment that named it. Left `IntentExpectedFamily` and `SemaEventLabel` — both are still consumed by public morfo types / sema functions, so removing them is an API rename, not dead-code cleanup (documented in SYSTEM-AUDIT). Translated 3 non-quote Spanish comments to English (sema/chans/types, sema/projection/index, morfo/year-grid) per the English-comments rule. Book quotes stay in Spanish (they're the canonical source). Co-Authored-By: Claude Opus 4.8 --- src/uix/eidos/lib/config-types.ts | 8 +------- src/uix/morfo/components/year-grid.ts | 6 +++--- src/uix/sema/chans/types.ts | 5 ++--- src/uix/sema/exports.ts | 1 - src/uix/sema/projection/index.ts | 14 +++++++------- src/uix/sema/types.ts | 7 ------- 6 files changed, 13 insertions(+), 28 deletions(-) diff --git a/src/uix/eidos/lib/config-types.ts b/src/uix/eidos/lib/config-types.ts index 5f4402b58..49b0de3c7 100644 --- a/src/uix/eidos/lib/config-types.ts +++ b/src/uix/eidos/lib/config-types.ts @@ -334,7 +334,7 @@ export type TokenScope = AtomicScope | readonly LeafScope[]; /** * Single declaration of a recipe token under a specific scope. A token may * have multiple declarations (different scopes) — wrap them in the - * `declarations[]` form of `RecipeTokenObject`. + * `declarations[]` multi-declaration form. */ export interface RecipeTokenDeclaration { /** The CSS value (typically a `var(...)` reference or a literal). */ @@ -481,12 +481,6 @@ export type RecipeTokenMap = Readonly<{ }>; export type RecipeTokenSet = Readonly>; -/** - * @deprecated kept for any caller that was importing the v1 shape name. - * Use `RecipeTokenDeclaration` going forward. - */ -export type RecipeTokenObject = RecipeTokenDeclaration; - export const DURATION_KEYS = [ 'instant', 'fast', diff --git a/src/uix/morfo/components/year-grid.ts b/src/uix/morfo/components/year-grid.ts index cd5f66c20..a08a65197 100644 --- a/src/uix/morfo/components/year-grid.ts +++ b/src/uix/morfo/components/year-grid.ts @@ -24,9 +24,9 @@ export const yearGridMorfo = { } }, { - // Paginar al rango anterior/siguiente de años. Per book cap. 27 §5, - // `shift.navigate` cubre "Página A → página B" — el usuario cambia - // de tramo del eje temporal. Variante `step` para paso discreto. + // Paginate to the previous/next range of years. Per book cap. 27 §5, + // `shift.navigate` covers "Page A → page B" — the user moves to a + // different stretch of the time axis. `step` variant for a discrete step. name: 'shift-navigate-step', semantic: { family: 'shift', diff --git a/src/uix/sema/chans/types.ts b/src/uix/sema/chans/types.ts index b92362341..2fd974802 100644 --- a/src/uix/sema/chans/types.ts +++ b/src/uix/sema/chans/types.ts @@ -65,9 +65,8 @@ export interface Channel { handle(signal: SemanticSignal, effective: EffectiveSignature): Promise; /** - * Permite al canal liberar recursos al desmontar la aplicación. - * Implementación opcional — no todos los canales tienen recursos - * que limpiar. + * Lets the channel release resources when the app unmounts. Optional + * implementation — not every channel has resources to clean up. */ dispose?(): void; } diff --git a/src/uix/sema/exports.ts b/src/uix/sema/exports.ts index 50a9d4c5a..c7f9bb433 100644 --- a/src/uix/sema/exports.ts +++ b/src/uix/sema/exports.ts @@ -2,7 +2,6 @@ export type { SemaValencedFamily, SemaTransitionalFamily, SemaFamily, - IntentPolicy, IntentExpectedFamily, IntentOptionalFamily, SemaMode, diff --git a/src/uix/sema/projection/index.ts b/src/uix/sema/projection/index.ts index 6d777b19c..0c56b3d34 100644 --- a/src/uix/sema/projection/index.ts +++ b/src/uix/sema/projection/index.ts @@ -1,13 +1,13 @@ // ── Sema projection layer ─────────────────────────────────────────────────── // -// La frontera entre el canal visual y la materialización en DOM. El -// engine despacha señales sin saber cómo se proyectan; `VisualChannel` -// llama a un `SignalProjector` desde `prepare()` para escribir tokens y -// retornar handles de cleanup. +// The boundary between the visual channel and DOM materialization. The +// engine dispatches signals without knowing how they are projected; +// `VisualChannel` calls a `SignalProjector` from `prepare()` to write +// tokens and return cleanup handles. // -// Hoy hay un único proyector (`DomSignalProjector`). Futuros proyectores: -// - `CustomEventProjector` — re-emite `CustomEvent('sema:event')`. -// - `InertProjector` — no-op para SSR / tests headless. +// Today there is a single projector (`DomSignalProjector`). Future projectors: +// - `CustomEventProjector` — re-emits `CustomEvent('sema:event')`. +// - `InertProjector` — no-op for SSR / headless tests. export { DomSignalProjector } from './dom' export type { ProjectionHandle, SignalProjector } from './dom' diff --git a/src/uix/sema/types.ts b/src/uix/sema/types.ts index 6c413deca..7d0d4e816 100644 --- a/src/uix/sema/types.ts +++ b/src/uix/sema/types.ts @@ -35,13 +35,6 @@ export type IntentRequirement = 'required' | 'optional' | 'forbidden'; */ export type IntentGuidance = 'expected' | 'contextual' | 'discouraged'; -/** - * @deprecated Legacy single-axis policy. Use `intentRequirement` + - * `intentGuidance` on `SEMA_FAMILY_POLICY` entries. Kept as a type alias - * for any external consumers transitioning off the old shape. - */ -export type IntentPolicy = 'allowed' | 'expected' | 'optional'; - /** * Per-family doctrinal policy. Two axes: *